用sorted对字典排序,打印的结果为什么会是这样?
回答:
# 你新建了一个dictIn[1]: dic = {'k1': 1, 'k2': 3, 'k3': 2}
# 然后用sorted对字典的key按照字母升序排列
In[2]: sorted(dic.items())
# 注意看输出, 上面的排序是重新生成了一个由(key, value)组成的list, 并没有作用到dict上, 另外dict的key是hashtable, 本身无序, 是不能对其排序的
Out[2]: [('k1', 1), ('k2', 3), ('k3', 2)]
In[3]: dic
# dict在这里并没有做任何修改
Out[3]: {'k1': 1, 'k2': 3, 'k3': 2}
In[4]: sorted(dic.items())[0]
Out[4]: ('k1', 1)
回答:
字典是无序的,不能排序,
sorted只是排序 d 的 键值对 元组的列表。
回答:
sorted(zip(d.keys(), d.values())) 可解
回答:
因为dic是字典,是无序的,每次打印出来的结果可能都不相同
而sorted(dic.item())是对生成的元组('k1', 1), ('k2', 2), ('k3', 3)默认按每个元组的第一个值进行排序,所以打印结果为('k1', 1)
回答:
V=sorted(dic.items())这条语句后面不需要[0],因为sorted排序结果就是{['k1':1],['k2':2],['k3':3]},添加一句[0],相当于print的是V[0],所以结果就是['k1':1]
以上是 用sorted对字典排序,打印的结果为什么会是这样? 的全部内容, 来源链接: utcz.com/a/158533.html