连接两个不同列表中的字符串

0 python string list concatenation cartesian-product

我需要在 python 中连接两个不同的字符串列表。

例如:

list1 = ['A','B','C']
list2 = ['D', 'E']
Run Code Online (Sandbox Code Playgroud)

我想获得

list3 = ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']
Run Code Online (Sandbox Code Playgroud)

我试过了:

list3 = zip(list1,list2)
Run Code Online (Sandbox Code Playgroud)

它返回

list3 = [('A','D'), ('B','E')]
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

list(itertools.product(list1, list2))

但它返回

[('A','D'),('A','E'),...,('C','E')] 而不是 ['AD', 'AE', 'BD', 'BE'、'CD'、'CE']

任何想法?谢谢

Ahs*_*que 5

这应该有帮助:

import itertools

list1 = ['A','B','C']
list2 = ['D', 'E']
list(map("".join, itertools.product(list1, list2)))
# ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']
Run Code Online (Sandbox Code Playgroud)

另外,可以通过列表理解来解决。

["".join(i) for i in itertools.product(list1, list2)]
Run Code Online (Sandbox Code Playgroud)