这段代码可以在Python 2.7中运行,我该如何使其在Python 3中运行?
arestas = dict()
edges = arestas.items()
edges.sort(key=lambda x: x[1])
返回结果:
返回的错误是:
AttributeError: 'dict_items' 对象没有 'sort' 属性
谢谢!
这段代码可以在Python 2.7中运行,我该如何使其在Python 3中运行?
arestas = dict()
edges = arestas.items()
edges.sort(key=lambda x: x[1])
返回的错误是:
AttributeError: 'dict_items' 对象没有 'sort' 属性
谢谢!
dict.items()
在Python 3中返回一个字典视图。就好像在Python 2中调用了dict.viewitems()
。
要么先将字典视图转换为列表,要么使用sorted()
函数:edges = list(arestas.items())
edges.sort(key=lambda x: x[1])
或者
edges = arestas.items()
edges = sorted(edges, key=lambda x: x[1])
list
,因此除非您仍然需要访问未排序的列表,否则它是更好的选择。
edges = list(arestas.items())
会给你一个列表;在使用edges.sort()
或者sorted(edges)
进行排序之前,你可以对它进行一些操作。 - Martijn Pieters