将Python中的字符串列表相乘,但不按标量相乘

将Python中的字符串列表相乘,但不按标量相乘,python,list,Python,List,我想用python中的两个字符串列表相乘,但不想用值相乘。像这个例子: elem1 = ['a', 'b'] elem2 = ['c', 'd'] final = magic_function(elem1, elem2) >> final = [ ['a','c'], ['a','d'], ['b','c'], ['b','d'] ] 我试着查看numpy包,但我找不到任何不乘以标量的东西这可以通过简单的列表理解来完成final=[[v1,v2]对于

我想用python中的两个字符串列表相乘,但不想用值相乘。像这个例子:

elem1 = ['a', 'b']
elem2 = ['c', 'd']
final = magic_function(elem1, elem2)
>> final = [
    ['a','c'],
    ['a','d'],
    ['b','c'],
    ['b','d']
]

我试着查看numpy包,但我找不到任何不乘以标量的东西

这可以通过简单的列表理解来完成
final=[[v1,v2]对于elem1中的v1对于elem2中的v2]
这可以通过简单的列表理解
final=[[v1,v2]对于elem1中的v1对于elem2中的v2]

看一看

假定

elem1 = ['a', 'b']
elem2 = ['c', 'd']
使用列表理解:

[(a, b) for a in elem1 for b in elem2]
结果:
[[('a','c'),('b','d'),[('a','d'),('b','c')]
看一看

假定

elem1 = ['a', 'b']
elem2 = ['c', 'd']
使用列表理解:

[(a, b) for a in elem1 for b in elem2]
结果:
[('a','c'),('b','d'),[('a','d'),('b','c')]

通过使用itertools,您可以拥有两个列表的所有可能组合。但它将生成元组列表


通过使用itertools,您可以拥有两个列表的所有可能组合。但是它会生成元组列表。

Typo:
elem2=['a','b']
?你应该看看
itertools
,而不是
numpy
。另外,你需要理解
multiply
这个词可能是重复的,我已经编辑了这个输入。明天我会看看你们所有的解决方案,谢谢你们的回答!打字:
elem2=['a',b']
?你应该看看
itertools
,而不是
numpy
。此外,你需要理解术语
乘法
是的,我已经编辑了打字。明天我会看看你们所有的解决方案,谢谢你们的回答!OP的例子一点也不像排列,OP的例子一点也不像排列。