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

2021-05-16 08:40:23 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如:

list1 = ['A','B','C']
list2 = ['D', 'E']

我想得到

^{pr2}$

我试过:

list3 = zip(list1,list2)

它又回来了

list3 = [('A','D'), ('B','E')]

我也试过:

list(itertools.product(list1, list2))

但它回来了

[('A','D'),('A','E'),...,('C','E')] and not ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']

有什么想法吗?泰铢

3条回答
网友
1楼 ·

您可以使用^{}来获得笛卡尔积或使用2个循环

>>> list1 = ['A','B','C']
>>> list2 = ['D', 'E']
>>> import itertools
>>> list(itertools.product(list1, list2))
[('A', 'D'), ('A', 'E'), ('B', 'D'), ('B', 'E'), ('C', 'D'), ('C', 'E')]
>>> [(i, j) for i in list1 for j in list2]
[('A', 'D'), ('A', 'E'), ('B', 'D'), ('B', 'E'), ('C', 'D'), ('C', 'E')]
网友
2楼 ·

两个for循环怎么样?在

下面是伪代码

for item in list1:
    for item2 in list2:
         item = item + item2
网友
3楼 ·

这将有助于:

import itertools

list1 = ['A','B','C']
list2 = ['D', 'E']
list(
    map(
        lambda x: "".join(x),
        itertools.product(list1, list2)
    )
)

['AD', 'AE', 'BD', 'BE', 'CD', 'CE']

同样,也可以通过列表理解来解决。在

^{pr2}$

相关问题