繁体   English   中英

元素明智的连接与 Python 中的两个列表列表

[英]Element wise concat with two list of lists in Python

我有 2 个列表列表:

a = [['Apple'], ['Banana']]
b = [[1,2,3,4], [4,5,6]]

我怎样才能将字符串元素明智地连接起来并获得一个新的列表列表,如下所示:

new_list = [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

此致。

使用itertools.cycle

前任:

from itertools import cycle

a = [['Apple'], ['Banana']] 
b = [[1,2,3,4], [4,5,6]]

result = [[m+str(n) for m, n in zip(cycle(i), j) ] for i,j in zip(a, b)]
print(result)

输出:

[['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

一个没有itertools

[["%s%s" % (i[0], n) for n in j] for i,j in zip(a,b)]

输出:

[['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

这对你有帮助吗?

a = [['Apple'], ['Banana']]
b = [[1,2,3,4], [4,5,6]]
print([
    [c + str(d) for d in j for c in i] for i, j in zip(a, b)
])

输出:

 [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

您可以使用 2 个for循环:

new_list = []
for [item], numbers in zip(a, b):
    item_list = []
    for n in numbers:
        item_list.append(f'{item}{n}')
    new_list.append(item_list)

new_list

输出:

[['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

或者您可以使用列表理解:

[[f'{item}{n}' for n in numbers] for [item], numbers in zip(a, b)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM