如何组合两个列表的元素

2024-10-03 23:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子

List1 = ['foo', 'bar', '.txt']
List2 = [(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)]

我希望输出是

output = ['foo1bar3.txt', 'foo1bar4.txt', 'foo1bar5.txt', 'foo2bar3.txt', 'foo2bar4.txt', 'foo2bar5.txt'] 

Tags: txtoutputfoobar单子list2list1foo1bar3
3条回答
list1 = ['foo', 'bar', '.txt']
list2 = [(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)]
list3 = []

for x, y in list2:

    list3.append(list1[0] + str(x) + list1[1] + str(y) + list1[2])

print(list3)

输出

['foo1bar3.txt', 'foo1bar4.txt', 'foo1bar5.txt', 'foo2bar3.txt', 'foo2bar4.txt', 'foo2bar5.txt']

一种不硬编码元素数量的方法:

output = ['%d'.join(List1) % x for x in List2]

Try it online!

使用list comprehensionstring formatting

a, b, c = List1
output = [f"{a}{x}{b}{y}{c}" for x, y in List2]
# ['foo1bar3.txt', 'foo1bar4.txt', 'foo1bar5.txt', 'foo2bar3.txt', 'foo2bar4.txt', 'foo2bar5.txt']

相关问题 更多 >