2024-03-29 14:56:11 发布
网友
我有以下清单
a=[1,2,3] b=[4,5,6] c=[a,b]
我需要把a表和b表合并起来
结果应该是[1,2,3,4,5,6]
[1,2,3,4,5,6]
我试着理解列表
[x for x in i for i in c]
输出
[3, 3, 4, 4, 5, 5]
如何使用列表理解获得[1,2,3,4,5,6]结果。你知道吗
你可以这样做:
a + b
如果必须使用列表理解:
In [10]: a = [1, 2, 3] In [11]: b = [4, 5, 6] In [12]: c = [a, b] In [13]: [j for i in c for j in i] Out[13]: [1, 2, 3, 4, 5, 6]
使用^{}。你知道吗
import itertools a=[1,2,3] b=[4,5,6] c = list(itertools.chain(a, b))
如果要连接,请使用+来连接:
+
c = a + b
如果要串联任意数量的列表,请使用^{}:
from itertools import chain list_of_lists = [a, b] c = list(chain.from_iterable(list_of_lists))
请注意,如果您只需要对连接结果进行迭代,那么可以将list()调用一起保留。你知道吗
list()
不要使用sum();这会导致二次行为,因为中间结果是为每个求和的元素建立的,这需要一个完整的循环。你知道吗
sum()
你可以这样做:
如果必须使用列表理解:
使用^{} 。你知道吗
如果要连接,请使用
+
来连接:如果要串联任意数量的列表,请使用^{} :
请注意,如果您只需要对连接结果进行迭代,那么可以将
list()
调用一起保留。你知道吗不要使用
sum()
;这会导致二次行为,因为中间结果是为每个求和的元素建立的,这需要一个完整的循环。你知道吗相关问题 更多 >
编程相关推荐