在Python3中获取OrderedDict的最后一个值
这里介绍了一种在Python3中获取OrderedDict最后一个键的方法。
我想在Python3中获取OrderedDict的最后一个值,而不想把它转换成list
。
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
>>> from collections import OrderedDict
>>> dd = OrderedDict(a=1, b=2)
>>> next(reversed(dd))
'b'
>>> next(reversed(dd.keys()))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument to reversed() must be a sequence
>>> next(reversed(dd.items()))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument to reversed() must be a sequence
>>> next(reversed(dd.values()))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument to reversed() must be a sequence
2 个回答
2
这个问题在Python 3.8版本中已经修复了,具体可以查看这个链接:https://bugs.python.org/issue33462。
>>> from collections import OrderedDict
>>> dd = OrderedDict(a=1, b=2)
>>> next(reversed(dd.keys()))
'b'
>>> next(reversed(dd.values()))
2
>>> next(reversed(dd.items()))
('b', 2)
7
只需要用那个键来查找字典里的内容:
dd[next(reversed(dd))]
比如说:
from collections import OrderedDict
dd = OrderedDict(a=1, b=2)
print(dd[next(reversed(dd))]) # 2