Python中的字符串列表,但不是标量

时间:2017-09-16 18:08:35

标签: python list

我想在python中乘以2个字符串列表,而不是按值。像这个例子:

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

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

3 个答案:

答案 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)

查看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')]]