[英]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.