Skip to main content
 首页 » 编程设计

python之将字符串和字符串列表组合成一个大列表

2025年05月04日13java哥

我有像这样的字符串变量或字符串列表变量(但不仅仅是我的三个代码):

a = 'apples' 
b = 'pears' 
c = ['grapes', 'bananas', 'kiwis'] 

有没有一种简单的方法可以将它们组合成一个大列表 ['apples', 'pears', 'grapes', 'bananas', 'kiwis']?我尝试了 a + b + c 但我得到了 TypeError: can only concatenate str (not "list") to str。字符串/列表出现的位置没有顺序。这一定是一个非常简单和愚蠢的问题,但我找不到答案 - 如果重复,我们深表歉意...

编辑:

澄清由于上面的例子被指出太微不足道:我有一个很大的变量列表,其中一些只是字符串,一些是字符串列表。它们没有排序,我想知道是否有一种简单的方法可以将它们组合起来,而无需手动查看哪些是字符串,哪些是列表,并在我的代码中分别处理变量。如果不可能,那也是一个答案。

请您参考如下方法:

是的,您可以创建一个新列表,在其中“解压缩”列表,并添加其他字符串元素,例如:

new_list = [a, b, <b>*c</b>]

如果要添加列表的元素,则需要在前面加上星号。

如果事先不知道列表是什么,我们可以检查它,然后解压缩这些列表,例如:

from itertools import chain 
 
new_list = list(chain.from_iterable( 
    x if isinstance(x, list) else (x,) for x in [a, b, c]) 
)