枚举并获取每个元组的第一项?
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)]
如何从这里获得:
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)]