这是我的代码:
a = {0:'000000',1:'11111',3:'333333',4:'444444'}
for i in a:
print i
它展示了:
0
1
3
4
但我希望它显示:
4
3
1
0
那么,我能做些什么?
这是我的代码:
a = {0:'000000',1:'11111',3:'333333',4:'444444'}
for i in a:
print i
它展示了:
0
1
3
4
但我希望它显示:
4
3
1
0
那么,我能做些什么?
>>> a = {0:'000000',1:'11111',3:'333333',4:'444444'}
>>> a.keys()
[0, 1, 3, 4]
>>> sorted(a.keys())
[0, 1, 3, 4]
>>> reversed(sorted(a.keys()))
<listreverseiterator object at 0x02B0DB70>
>>> list(reversed(sorted(a.keys())))
[4, 3, 1, 0]
sorted(a.keys(), reverse=True)
而不是使用内置的 reversed()
函数来加快反转操作的速度。 - ncoghlanmy_dict = {'a': 1, 'c': 3, 'b': 2}
for k in reversed(list(my_dict.keys())):
print(k)
输出:
b
c
a
自从 Python 3.8 版本开始,内置函数 reversed()
可以接受字典类型的参数。
以下是一个使用示例:
my_dict = {'a': 1, 'c': 3, 'b': 2}
for k in reversed(my_dict):
print(k)
以下是一个示例,展示如何使用反转后的字典替换您的字典:
my_dict = dict(reversed(my_dict.items()))
)
会导致 SyntaxError
,在 Python 3.8 中 dictviews 也只是可逆的,因此在 Python 3.7 中使用 reversed(my_dict.keys())
将会引发 TypeError
。 - Harmon758reversed(list(my_dict.keys()))
中,.keys()
可以省略,因为字典迭代器返回其键。 - Hugues字典是无序的,因此您无法对它们进行反转。当前输出的顺序是随意的。
话虽如此,您当然可以对键进行排序:
for i in sorted(a.keys(), reverse=True):
print a[i];
但是这将给你排过序的键的反向顺序,而不是键被添加的反向顺序。也就是说,如果你的字典是:1 0 3
,它不会给你这个结果。
a = {3:'3', 0:'0', 1:'1'}
试试这样做:
for i in sorted(a.keys(), reverse=True):
print i
Python字典在2.x版本中不是有序的。但是在3.1版本中,有一个有序字典的实现。
Python字典本身并没有任何与之相关的“顺序”。它只是一个“巧合”,使得dict打印相同的顺序。不能保证字典中的项目按任何顺序出现。
如果您想处理排序,需要将字典转换为列表。
a = list(a) # keys in list
a = a.keys() # keys in list
a = a.values() # values in list
a = a.items() # tuples of (key,value) in list
a.sort()
,也可以将其反转,例如:a.reverse()
。如果您想保留插入顺序而不是按字母顺序排序,则可以使用以下方法:
dict(list(your_dict.keys())[::-1])
或者对于整个字典:
dict(list(your_dict.items())[::-1])
original_dict={'A':0,'C':2,'B':1}
new_dict={}
for k,v in original_dict.items():
dict_element={k:v}
dict_element.update(new_dict)
new_dict=dict_element
print(new_dict)
{'B':1,'C':2,'A':0}
我的看法。
{'faisal2': 2, 'umair': 2, 'fais': 1, 'umair2': 1, 'trending': 2, 'apple': 2, 'orange': 2}
dict(sorted(counts.items(), key=lambda item: item[1],reverse=True))
{'faisal2': 2, 'umair': 2, 'trending': 2, 'apple': 2, 'orange': 2, 'fais': 1, 'umair2': 1}
for i in reversed(sorted(a.keys())):
print i
dict
函数有误解,应该纠正这种误解,而不是给他看起来像他想要的东西。 - Chris W.