2017-09-16 24 views
0

我想在Python中乘以2个字符串列表,但不是通过值。像这样的例子:在Python中乘以字符串列表,但不是通过标量

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

我试图寻找在numpy的包,但我找不到任何它不被标

+0

错字:'elem2 = ['a','b']'? – Divakar

+2

你应该看看'itertools',而不是'numpy'。 – DeepSpace

+0

此外,你需要了解术语'multiply' – Nain

回答

1

乘这可以用一个简单的列表理解final = [[v1, v2] for v1 in elem1 for v2 in elem2]来完成。

0

看一看itertools

假设

elem1 = ['a', 'b'] 
elem2 = ['c', 'd'] 

使用列表理解:

[(a, b) for a in elem1 for b in elem2] 

结果:[[('a', 'c'), ('b', 'd')], [('a', 'd'), ('b', 'c')]]

+0

OP的例子看起来并不像排列。 –

1
import itertools 
list(itertools.product(elem1,elem2)) 

美国在itertools中,您可以拥有两个列表的所有可能组合。但它会生成元组列表。

相关问题