枚举并获取每个元组的第一项?

Enumerate and get the first item of each tuple?

如何从这里获得:

col = [('red', '132', '234'), ('green', '236', '434'), ('brown', '542', '457')]

对此:
编辑(没有任何引号)

1 red, 2 green, 3 brown   # enumerate and get the first item of each tuple.

我试过了,但没用:

[zip(((enumerate(col),1),i[0])) for i in col]

请仅使用内置函数。

print([f"{i + 1} {each[0]}" for i, each in enumerate(col)])

您可以使用列表理解。

>>> col = [('red', '132', '234'), ('green', '236', '434'), ('brown', '542', '457')]
>>>
>>> ["{} {}".format(index, first) for index, (first, *_) in enumerate(col, start=1)]
['1 red', '2 green', '3 brown']

首先使用 enumerate 和适当的起始值。接下来,解压缩生成的元组以获得您需要的值。最后,使用 f-string 从数字和颜色名称创建所需的字符串。

[f"{i} {color}" for i, (color, _, _) in enumerate(col, 1)]