常见笔试题:根据值对字典进行排列。
网上的写法是使用lambda表达式:
date = {'a':1,'b':3,'c':4,'d':2,'e':5}
date = sorted(date.items(), key=lambda x: x[1], reverse=True)
print(date)
我这里采用的是较笨的方法,使用冒泡进行排序:
date = {'a':1,'b':3,'c':4,'d':2,'e':5}
key_lst = []
value_lst = []
# 将字典转化为列表
for key,value in date.items():
key_lst.append(key)
value_lst.append(value)
# 使用冒泡排序将字典的值进行排序,同时字典的键也做相应的排序
for i in range(0,len(value_lst)):
for j in range(0,len(value_lst)-i-1):
if value_lst[j] <= value_lst[j+1]:
value_lst[j],value_lst[j+1] = value_lst[j+1],value_lst[j]
key_lst[j],key_lst[j+1] = key_lst[j+1],key_lst[j]
# 将列表重新转为字典
date = dict(zip(key_lst,value_lst))
print(date)
如有其它方法,欢迎一起讨论!
本文探讨了两种字典排序方法:一种是使用lambda表达式的简洁方式,另一种是通过冒泡排序的传统算法实现。对比了不同方法的优缺点,邀请读者共同讨论更高效的排序策略。
859

被折叠的 条评论
为什么被折叠?



