5 个回答
# 你新建了一个dict
In[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]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题