我想将两个列表的元素合并到一个列表中,并添加一些字符,如下所示:
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)]
我这样做是因为有时我有一个int而不是字符串
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
的元素。你知道吗
那么,有没有更有效的方法来完成这一切呢?你知道吗
您可以基于
list_A
本身split
来join
这样运行,而无需int
可能的int
值:输出:
更新:
对于您的需求,如果要忽略
list_A
中最后一个tuple
的最后一个元素,需要在list-comprehension
中添加if-else
条件,如下所示:更新输出:
如果您使用的是python>;=3.6,请尝试以下操作:
如果使用python3.5,可以执行以下操作:
如果不想使用格式化字符串,也可以使用此选项:
对于忽略列表中每个元组的最后一个元素,我发现这是最快的方法:
相关问题 更多 >
编程相关推荐