这里想表达的,百度了一通,基本的说法就是items 返回的是列表,iteritems返回的是一个迭代器
但真实的情况是,目前3.7的Python 版本应该是没有iteritems这个函数了,可以在pycharm 里面尝试一下
dic = {'a': 5, 'b': 2, 'c': 3}
dic.items()
print(type(dic))
print(dic)
print(dic.iteritems())
其结果是
D:\anaconda\python.exe D:/代码/机器学习联系.py
<class 'dict'>
Traceback (most recent call last):
{'a': 5, 'b': 2, 'c': 3}
File "D:/代码/机器学习联系.py", line 8, in <module>
print(dic.iteritems())
AttributeError: 'dict' object has no attribute 'iteritems'
dic.items()必须要进行赋值 a = dic.items()
返回的是一个 dic_items 的对象,不是一个列表
这时候想要取里面的值 要先用sorted排序, 才可以
import operator
dic = {'a': 5, 'b': 2, 'c': 3}
a = sorted(dic.items(), key=operator.itemgetter(1), reverse=True)
print(a)
print(a[0][0])
result
D:\anaconda\python.exe D:/代码/机器学习联系.py
[('a', 5), ('c', 3), ('b', 2)]
a
Process finished with exit code 0
排序后返回的是一个列表,每个元素是元组
然后通过中括号进行取值