我想在python中乘以2个字符串列表,而不是按值。像这个例子:
elem1 = ['a', 'b']
elem2 = ['c', 'd']
final = magic_function(elem1, elem2)
>> final = [
['a','c'],
['a','d'],
['b','c'],
['b','d']
]
我试着查看numpy包但我找不到任何不会被标量乘以的东西
答案 0 :(得分:1)
这可以通过简单的列表推导final = [[v1, v2] for v1 in elem1 for v2 in elem2]
完成。
答案 1 :(得分:1)
import itertools
list(itertools.product(elem1,elem2))
通过使用itertools,您可以拥有两个列表的所有可能组合。但它会生成元组列表。
答案 2 :(得分:0)
假设
elem1 = ['a', 'b']
elem2 = ['c', 'd']
使用列表理解:
[(a, b) for a in elem1 for b in elem2]
结果:[[('a', 'c'), ('b', 'd')], [('a', 'd'), ('b', 'c')]]