子集上的 Python 枚举迭代

我想迭代以下枚举的一个子集


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)

有捷径吗?还是我需要列出每个项目来迭代?


函数式编程
浏览 197回答 3
3回答

qq_遁去的一_1

使用itertools.islice您可以遍历Enum类的一部分from enum import Enumfrom itertools import isliceclass Items(Enum):    item1 = 0    item2 = 1    item3 = 2    item4 = 3    item5 = 4    itm66 = 5    item7 = 6    item8 = 7for i in islice(Items, 4):    print(i.value)# 0 # 1 # 2# 3

Helenr

没有任何内置的东西Enum可以迭代子集,但是因为你可以list对它们使用:>>> list(Items)[:4][<Items.item1: 0>, <Items.item2: 1>, <Items.item3: 2>, <Items.item4: 3>]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python