Skip to main content
 首页 » 编程设计

python之将任意数量的列表的元素加入一个字符串列表 python

2025年05月04日19telwanggs

我想将两个列表的元素合并为一个列表,并添加一些字符,如下所示:

list_1 = ['some1','some2','some3'] 
list_2 = ['thing1','thing2','thing3'] 
 
joined_list = ['some1_thing1', 'some2_thing2', 'some3_thing3'] 

但是我事先不知道我必须为多少列表执行此操作,即我想为任意数量的列表执行此操作

此外,我目前收到以下形式的列表:

list_A = [('some1','thing1'),('some2','thing2'),('some3','thing3')] 

所以我把它分成这样的列表:

list_B = [i for i in zip(*list_A)] 

我这样做是因为有时我有一个整数而不是一个字符串

list_A = [('some1','thing1',32),('some1','thing1',42),('some2','thing3', 52)]  

所以我可以在之后做这件事

list_C = [list(map(str,list_B[i])) for i in range(0,len(list_B)] 

基本上 list_1 和 list_2 是 list_C 的元素。

那么有没有更有效的方法来完成这一切?

请您参考如下方法:

如果你使用的是 python>=3.6,试试这个:

[f'{i}_{j}' for i,j in zip(list_1, list_2)] 

如果你使用python3.5,你可以这样做:

 ['{}_{}'.format(i,j) for i,j in zip(list_1, list_2)] 

如果你不想使用格式化字符串,你也可以使用这个:

['_'.join([i,j]) for i,j in zip(list_1, list_2)]