Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在两个不同的列表中连接字符串_Python_String_List_Concatenation_Cartesian Product - Fatal编程技术网

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

Python 在两个不同的列表中连接字符串,python,string,list,concatenation,cartesian-product,Python,String,List,Concatenation,Cartesian Product,我需要在python中连接两个不同的字符串列表 例如: list1 = ['A','B','C'] list2 = ['D', 'E'] 我想获得 list3 = ['AD', 'AE', 'BD', 'BE', 'CD', 'CE'] 我试过: list3 = zip(list1,list2) 它回来了 list3 = [('A','D'), ('B','E')] 我也试过: ListItemTools.productlist1,list2 但它又回来了 list3 = [('A','

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

例如:

list1 = ['A','B','C']
list2 = ['D', 'E']
我想获得

list3 = ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']
我试过:

list3 = zip(list1,list2)
它回来了

list3 = [('A','D'), ('B','E')]
我也试过:

ListItemTools.productlist1,list2

但它又回来了

list3 = [('A','D'), ('B','E')]
[A'、'D'、'A'、'E'、…、'C'、'E']而不是[AD'、'AE'、'BD'、'BE', ‘CD’、‘CE’]

有什么想法吗?THX

您可以使用它来获得笛卡尔积或使用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')]

两个循环怎么样

下面是伪代码

for item in list1:
    for item2 in list2:
         item = item + item2
这将有助于:

import itertools

list1 = ['A','B','C']
list2 = ['D', 'E']
list(map("".join, itertools.product(list1, list2)))
# ['AD', 'AE', 'BD', 'BE', 'CD', 'CE']
此外,还可以通过列表理解来解决

["".join(i) for i in itertools.product(list1, list2)]

看起来您需要列表的itertools.product笛卡尔积this list3=[i+j表示列表1中的i表示列表2中的j]