Python中两个列表的逐元素拼接

3

我有两个列表嵌套的列表:

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

我该如何将元素逐个连接成字符串并获得以下新的列表嵌套列表:
new_list = [['Apple1', 'Apple2', 'Apple3', 'Apple4'], ['Banana4', 'Banana5', 'Banana6']]

最好的问候。

4个回答

4

使用 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']]

2

没有 itertools 的情况:

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

输出:

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

1
这可以帮助您吗?
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)
])

Output:

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

1
你可以使用两个 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

output:

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

或者您可以使用列表推导式:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接