我想迭代以下枚举的一个子集class Items(enum.Enum): item1 = 0 item2 = 1 item3 = 2 item4 = 3 item5 = 4 itm66 = 5 item7 = 6 item8 = 7说我想:for item in (Items.item1, Items.item2, Items.item3, Items.item4): print(item.value)有捷径吗?还是我需要列出每个项目来迭代?
3 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
使用itertools.islice您可以遍历Enum类的一部分
from enum import Enum
from itertools import islice
class Items(Enum):
item1 = 0
item2 = 1
item3 = 2
item4 = 3
item5 = 4
itm66 = 5
item7 = 6
item8 = 7
for i in islice(Items, 4):
print(i.value)
# 0
# 1
# 2
# 3
Helenr
TA贡献1780条经验 获得超4个赞
没有任何内置的东西Enum可以迭代子集,但是因为你可以list对它们使用:
>>> list(Items)[:4]
[<Items.item1: 0>, <Items.item2: 1>, <Items.item3: 2>, <Items.item4: 3>]
添加回答
举报
0/150
提交
取消