我有一个这样的清单:
[[1, 2], [5, 3], [7, 2]]
我想提取每个元素的第一个,即得到这样的输出:
[1,5,7]
怎么做?
答案 0 :(得分:1)
使用列表理解:
my_list = [[1, 2], [5, 3], [7, 2]]
my_new_list = [ x[0] for x in my_list ]
演示:
>>> my_list = [[1, 2], [5, 3], [7, 2]]
>>> my_list[0]
[1,2]
>>> my_list[0][0]
1
简单而没有列表理解:
my_list = [[1, 2], [5, 3], [7, 2]]
my_new_list = []
for x in my_list:
my_new_list.append(x[0])
使用lambda
和map
:
# python 2x
my_new_list = map(lambda x:x[0],my_list)
#python 3x
my_new_list = list(map(lambda x:x[0],my_list))
答案 1 :(得分:1)
使用列表理解。例如:
old_list = [[1,2], [5,3], [7,2]]
new_list = [sublist[0] for sublist in old_list]
或者,您可以将map
与operator.itemgetter
一起使用。
import operator
old_list = [[1,2], [5,3], [7,2]]
new_list = map(operator.itemgetter(0), old_list)
## in python3
# new_list = list(map(operator.itemgetter(0), old_list))
答案 2 :(得分:1)
使用列表理解:
my_list = [[1, 2], [5, 3], [7, 2]]
new_list = [x[0] for x in my_list]