TypeError: 'NoneType' object is not subscriptable
意思是None類型對象不可被通過下標來進行訪問
描述
編程模板中給出了一個字符串,其中包含了含有重復的人名,請直接輸出出現最多的人名。
1 s = '''雙兒 洪七公 趙敏 趙敏 逍遙子 鰲拜 殷天正 金輪法王 喬峰 楊過 洪七公 郭靖 2 楊逍 鰲拜 殷天正 段譽 楊逍 慕容復 阿紫 慕容復 郭芙 喬峰 令狐沖 郭芙 3 金輪法王 小龍女 楊過 慕容復 梅超風 李莫愁 洪七公 張無忌 梅超風 楊逍 4 鰲拜 岳不群 黃葯師 黃蓉 段譽 金輪法王 忽必烈 忽必烈 張三豐 喬峰 喬峰 5 阿紫 喬峰 金輪法王 袁冠南 張無忌 郭襄 黃蓉 李莫愁 趙敏 趙敏 郭芙 張三豐 6 喬峰 趙敏 梅超風 雙兒 鰲拜 陳家洛 袁冠南 郭芙 郭芙 楊逍 趙敏 金輪法王 7 忽必烈 慕容復 張三豐 趙敏 楊逍 令狐沖 黃葯師 袁冠南 楊逍 完顏洪烈 殷天正 8 李莫愁 阿紫 逍遙子 喬峰 逍遙子 完顏洪烈 郭芙 楊逍 張無忌 楊過 慕容復 9 逍遙子 虛竹 雙兒 喬峰 郭芙 黃蓉 李莫愁 陳家洛 楊過 忽必烈 鰲拜 王語嫣 10 洪七公 韋小寶 阿朱 梅超風 段譽 岳靈珊 完顏洪烈 喬峰 段譽 楊過 楊過 慕容復 11 黃蓉 楊過 阿紫 楊逍 張三豐 張三豐 趙敏 張三豐 楊逍 黃蓉 金輪法王 郭襄 12 張三豐 令狐沖 趙敏 郭芙 韋小寶 黃葯師 阿紫 韋小寶 金輪法王 楊逍 令狐沖 阿紫 13 洪七公 袁冠南 雙兒 郭靖 鰲拜 謝遜 阿紫 郭襄 梅超風 張無忌 段譽 忽必烈 14 完顏洪烈 雙兒 逍遙子 謝遜 完顏洪烈 殷天正 金輪法王 張三豐 雙兒 郭襄 阿朱 15 郭襄 雙兒 李莫愁 郭襄 忽必烈 金輪法王 張無忌 鰲拜 忽必烈 郭襄 令狐沖 16 謝遜 梅超風 殷天正 段譽 袁冠南 張三豐 王語嫣 阿紫 謝遜 楊過 郭靖 黃蓉 17 雙兒 滅絕師太 段譽 張無忌 陳家洛 黃蓉 鰲拜 黃葯師 逍遙子 忽必烈 趙敏 18 逍遙子 完顏洪烈 金輪法王 雙兒 鰲拜 洪七公 郭芙 郭襄 趙敏'''
19 name = s.split() 20 count ={} 21 for i in name: 22 count[i]=count.get(i,0)+1
23 items = list(count.items()) 24 items.sort(key=lambda x:x[1], reverse=True) #sort()方法沒有返回值!!! 25 print(items[0][0])
這里面要注意的是列表的sort()方法
語法
list.sort( key=None, reverse=False)
參數
- key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。
- reverse -- 排序規則,reverse = True 降序, reverse = False 升序(默認)。
返回值
該方法沒有返回值,但是會對列表的對象進行排序!!!
正是因為該方法沒有返回值,所以不能用類似 item=items.sort(key=lambda x:x[1], reverse=True) 這樣的賦值語句,會報錯,因為 item=None 錯誤類型便是
TypeError: 'NoneType' object is not subscriptable