如何将 2 元组列表转换为其第一个元素的列表

How to convert a list of 2-tuples to a list of their first elements

我有一个这样的列表-

[(1, 3),(2, 2)]

我喜欢把它转换成-

[1,2]

我做的是-

c = [(1, 3),(2, 2)]
output = []
for a,b in c:
    output.append(a)
return output

有没有办法在 1 行中完成此操作?

您可以使用 list-comprehension

output = [a for a,_ in c]

这里的_,对应问题中使用的b,是给虚拟变量的约定俗成的名字。

使用列表理解并从每个元组中获取第一个元素:

c = [(1, 3),(2, 2)]

print([i[0] for i in c])

输出:

[1, 2]  

另一种方法是:

[x[0] for x in c]

使用 zip() 函数。

b = [*list(zip(*a))[0]]