获取OrderedDi的前100个元素

2024-09-28 18:57:03 发布

您现在位置:Python中文网/ 问答频道 /正文

preresultOrderedDict()。在

我想保存其中的前100个元素。或者保留preresult,但删除除前100个元素之外的所有内容。在

结构是这样的

stats = {'a':   {'email1':4, 'email2':3}, 
         'the': {'email1':2, 'email3':4},
         'or':  {'email1':2, 'email3':1}}

islice能起作用吗?我的告诉你itertool.islice没有{}


Tags: orthe元素内容stats结构ordereddictemail1
2条回答

您可以将OrderedDict的键切片并复制它。在

from collections import OrderedDict

a = OrderedDict()
for i in xrange(10):
    a[i] = i*i

b = OrderedDict()
for i in a.keys()[0:5]:
    b[i] = a[i]

b是a的切片版本

下面是一个使用itertools的简单解决方案:

>>> import collections
>>> from itertools import islice
>>> preresult = collections.OrderedDict(zip(range(200), range(200)))
>>> list(islice(preresult, 100))[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

这只返回键。如果需要项,请使用iteritems(或者在python3中只使用items):

^{pr2}$

相关问题 更多 >