列表推导的增量或索引值?

时间:2018-02-27 03:48:16

标签: python list list-comprehension enumerate

是否有方便的方法将自动增量或索引纳入列表推导?我正在尝试构建一个对象列表,每个对象都需要一个唯一的标识符。所以不要这样:

tags_list = ['art', 'science', 'lollipops']

class Tag:
    def __init__(self, id, name):
        self.id = id
        self.name = name

tags = []    
i = 1
for t in tags_list:
    tag = Tag(i, t)
    tags.append(tag)
    i += 1

...像这样:

tags = [Tag(i, t) for t in tags_list]

^^^我如何获得i

我知道enumerate()但是这给了我元组吗?

1 个答案:

答案 0 :(得分:3)

tags = [Tag(i, t) for i,t in enumerate(tags_list, 1)]