如何将 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]]
我有一个这样的列表-
[(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]]