你如何获得Python OrderedDict中的前3个元素?

Mic*_*ith 12 python dictionary ordereddictionary

你如何获得Python OrderedDict中的前3个元素?

也可以从该字典中删除数据.

例如:我如何获得Python OrderedDict中的前3个元素并删除其余元素?

Zer*_*eus 21

让我们创建一个简单的OrderedDict:

>>> from collections import OrderedDict
>>> od = OrderedDict(enumerate("abcdefg"))
>>> od
OrderedDict([(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g')])
Run Code Online (Sandbox Code Playgroud)

要分别返回前三个,:

>>> list(od)[:3]
[0, 1, 2]
>>> list(od.values())[:3]
['a', 'b', 'c']
>>> list(od.items())[:3]
[(0, 'a'), (1, 'b'), (2, 'c')]
Run Code Online (Sandbox Code Playgroud)

要删除除前三项之外的所有内容:

>>> while len(od) > 3:
...     od.popitem()
... 
(6, 'g')
(5, 'f')
(4, 'e')
(3, 'd')
>>> od
OrderedDict([(0, 'a'), (1, 'b'), (2, 'c')])
Run Code Online (Sandbox Code Playgroud)