给定一本有序的Python字典,截断其长度最具Python风格的方法是什么?例如,如果给我一个包含数千个词条的字典,我如何将其截断为只有前500个词条。
发布于 2011-02-20 00:09:11
你真的要就地修改字典吗?您可以轻松地生成一个新的迭代器(感谢迭代器,甚至不需要接触您不需要的项):
OrderedDict(itertools.islice(d.iteritems(), 500))您也可以截断原始文件,但对于较大的文件,这将降低性能,并且可能不需要。当然,如果其他人正在使用d,那么语义是不同的。
# can't use .iteritems() as you can't/shouldn't modify something while iterating it
to_remove = d.keys()[500:] # slice off first 500 keys
for key in to_remove:
del d[key]发布于 2021-12-20 08:55:29
如果已经订购了字典,只需选择所需的元素数量,如下所示
dict = json.loads(response.text)
dicts_result = dict['results']
dicts_result = dicts_result[:5] #This gives me 5 elementshttps://stackoverflow.com/questions/5051795
复制相似问题