python 对输入的单词进行字典排序_Python-对字典进行排序
案例:
某班英語成績以字典的形式存儲為:
{‘lili’:78, ‘jin’:50, ‘liming’: 30, ......}
依據成績高低,進行學生成績排名
如何對字典排序?
方法1:
#!/usr/bin/python3
from random import randint
def sort_dict(data):
# 獲得字典的key
keys = data.keys()
# 獲得字典的value
valus = data.values()
# 按(value,keys)進行zip拼接
data_items = zip(valus, keys)
# 按value進行排序,依據zip函數值的先后順序,reverse表示列表是否翻轉
return sorted(data_items, reverse=True)
if __name__ == '__main__':
# 生成abcdefg學生對應的分數
data = {k: randint(0, 100) for k in 'abcdefg'}
# 獲取排名
result = sort_dict(data)
print(result)
方法2:
按key排序
#!/usr/bin/python3
from random import randint
def sort_dict(data):
print(data.items())
# 按key進行排序,reverse 表示列表是否翻轉,x[0] 取的是data.items()中對應字典的key值
return sorted(data.items(), key=lambda x: x[0], reverse=True)
if __name__ == '__main__':
# 生成abcdefg各學生對應的分數
data = {k: randint(0, 100) for k in 'abcdefg'}
# 獲取排名
result = sort_dict(data)
print(result)
按value排序
#!/usr/bin/python3
from random import randint
def sort_dict(data):
print(data.items())
# 按value進行排序,reverse 表示列表是否翻轉,x[0] 取的是data.items()中對應字典的value值
return sorted(data.items(), value=lambda x: x[1], reverse=True)
if __name__ == '__main__':
# 生成abcdefgg各學生對應的分數
data = {k: randint(0, 100) for k in 'abcdefg'}
# 獲取排名
result = sort_dict(data)
print(result)
先把字典變成列表中元組形式,然后通過sorted函數,lambda迭代每個列表值,x[0]指向字典key,x[1]指向value,reverse是否反轉,默認從小到大
總結
以上是生活随笔為你收集整理的python 对输入的单词进行字典排序_Python-对字典进行排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vivo X100 / Pro 系列手机
- 下一篇: 未来人类 Handle 5 掌机上架预约