你如何获得 Python OrderedDict 中的前 3 个元素?
How do you get the first 3 elements in Python OrderedDict?
如何获取 Python OrderedDict 中的前 3 个元素?
也可以从该词典中删除数据。
例如:如何获取 Python OrderedDict 中的前 3 个元素并删除其余元素?
跟其他dict没什么区别:
d = OrderedDict({ x: x for x in range(10) })
i = d.iteritems()
a = next(i)
b = next(i)
c = next(i)
d = OrderedDict([a,b,c])
# or
d.clear()
d.update([a,b,c])
让我们创建一个简单的 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')])
至return前三个keys、values或items :
>>> list(od)[:3]
[0, 1, 2]
>>> list(od.values())[:3]
['a', 'b', 'c']
>>> list(od.items())[:3]
[(0, 'a'), (1, 'b'), (2, 'c')]
要删除除前三项之外的所有内容:
>>> while len(od) > 3:
... od.popitem()
...
(6, 'g')
(5, 'f')
(4, 'e')
(3, 'd')
>>> od
OrderedDict([(0, 'a'), (1, 'b'), (2, 'c')])
您可以使用这种迭代方法来完成工作。
x = 0
for i in ordered_dict:
if x > 3:
del ordered_dict[i]
x += 1
首先,您只需创建一个计数器变量,x
,并将其赋值给 0。然后循环遍历 ordered_dict
中的键。看x
大于3就知道检查了多少项,就是你要的值个数。如果已经检查了 3 个项目,您 del
从 ordered_dict
中删除该项目。
这是一个更简洁的替代方法(感谢评论)
for i, k in enumerate(ordered_dict):
if i > 2:
del ordered_dict[k]
这通过使用枚举为每个键分配一个数字来工作。然后它检查该数字是否小于二(0、1 或 2)。如果数字不是 0、1 或 2(这将是前三个元素),则字典中的该项目将被删除。
如何获取 Python OrderedDict 中的前 3 个元素?
也可以从该词典中删除数据。
例如:如何获取 Python OrderedDict 中的前 3 个元素并删除其余元素?
跟其他dict没什么区别:
d = OrderedDict({ x: x for x in range(10) })
i = d.iteritems()
a = next(i)
b = next(i)
c = next(i)
d = OrderedDict([a,b,c])
# or
d.clear()
d.update([a,b,c])
让我们创建一个简单的 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')])
至return前三个keys、values或items :
>>> list(od)[:3]
[0, 1, 2]
>>> list(od.values())[:3]
['a', 'b', 'c']
>>> list(od.items())[:3]
[(0, 'a'), (1, 'b'), (2, 'c')]
要删除除前三项之外的所有内容:
>>> while len(od) > 3:
... od.popitem()
...
(6, 'g')
(5, 'f')
(4, 'e')
(3, 'd')
>>> od
OrderedDict([(0, 'a'), (1, 'b'), (2, 'c')])
您可以使用这种迭代方法来完成工作。
x = 0
for i in ordered_dict:
if x > 3:
del ordered_dict[i]
x += 1
首先,您只需创建一个计数器变量,x
,并将其赋值给 0。然后循环遍历 ordered_dict
中的键。看x
大于3就知道检查了多少项,就是你要的值个数。如果已经检查了 3 个项目,您 del
从 ordered_dict
中删除该项目。
这是一个更简洁的替代方法(感谢评论)
for i, k in enumerate(ordered_dict):
if i > 2:
del ordered_dict[k]
这通过使用枚举为每个键分配一个数字来工作。然后它检查该数字是否小于二(0、1 或 2)。如果数字不是 0、1 或 2(这将是前三个元素),则字典中的该项目将被删除。