我是Python的新手,我看过很多例子但不是很好的例子摘要。以下是我想要完成的4件事。谢谢你的帮助。
mydict = {'carl':40,
'alan':2,
'bob':1,
'danny':3}
我想使用以下内容来访问dict元素:
for key in sorted(mydict.keys()):
print(key, mydict[key])
如何获得以下输出:
案例1 :(按键升序)
alan 2
bob 1
carl 40
danny 3
案例2 :(按键降序)
danny 3
carl 40
bob 1
alan 2
案例3 :(按价值递增)
bob 1
alan 2
danny 3
carl 40
案例4 :(按价值递减)
carl 40
danny 3
alan 2
bob 1
答案 0 :(得分:1)
请参阅the documentation for sorted
。
按键升序:
for key, value in sorted(mydict.items()):
pass
按键降序:
for key, value in sorted(mydict.items(), reverse=True):
pass
按价值上升:
def get_value(item):
return item[1]
for key, value in sorted(mydict.items(), key=get_value):
pass
按价值降序:
for key, value in sorted(mydict.items(), key=get_value, reverse=True):
pass
如果您愿意,也可以使用key=lambda x: x[1]
代替定义get_key
功能。
答案 1 :(得分:0)
d = {'carl':40,
'alan':2,
'bob':1,
'danny':3}
ks = sorted(d.keys()) # sort keys
for key in ks:# key ascending
print(key, d[key])
for key in ks[::-1]: #key descending
print(key, d[key])
vs= sorted(d, key=d.get) # sort keys by values
for key in vs: # values ascending
print(key, d[key])
for key in vs[::-1]: # values descending
print(key, d[key])