如何利用列表理解获得预期的结果

2024-03-29 14:56:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下清单

a=[1,2,3]
b=[4,5,6]
c=[a,b]

我需要把a表和b表合并起来

结果应该是[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]结果。你知道吗


Tags: in列表for
3条回答

你可以这样做:

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()调用一起保留。你知道吗

不要使用sum();这会导致二次行为,因为中间结果是为每个求和的元素建立的,这需要一个完整的循环。你知道吗

相关问题 更多 >