當前位置:成語大全網 - 新華字典 - 請問這個Python代碼中的第5,7,9行如何理解?謝謝!

請問這個Python代碼中的第5,7,9行如何理解?謝謝!

d={}是初始化壹個空的字典變量。

t是輸入的名稱組成的列表。for c in range(len(t)):就是遍歷t列表的下標。

t[c]就是t列表中每壹項,d[t[c]]=d.get(t[c],0)+1就是以t[c]作為鍵,d.get(t[c],0)+1作為值保存到字典中。其中d.get(t[c],0),get意思是取鍵值為t[c]的值,如果不存在就返回0。

所以d[t[c]]=d.get(t[c],0)+1的意思簡單說:就是字典中如果存在鍵值t[c],則將其值+1,否則新建壹個鍵t[c],值為1。

ls = list(d.items())意思是將字典d轉換成壹個由元祖組成的列表形式

ls.sort(key=lambda x:x[1], reverse=True)?這裏是對上面的列表排序,由於列表包含元祖,所以key=lambda x:x[1]就是特指按列表每壹項元祖的第二個元素進行排列。?reverse=True表示排序規則是逆序。

所以ls.sort(key=lambda x:x[1], reverse=True)的意思就是,將字典轉換成的列表,按照字典值進行逆序排序。

for k in range(len(ls)):

zy,num=ls[k]這裏就是遍歷ls每項元祖,並將元祖第壹個元祖賦值給zy,第二項賦值給num。

print("{}:{}".format(zy,num))如果是寫在循環內,那zy,num=ls[k]這裏的意思就是是將字典中鍵值對分別保存到遍歷zy和num中,並打印。