2016-04-27 95 views
0

我需要串聯 2個不同的字符串列表中的蟒蛇。連接字符串在python

例如:

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

我想獲得

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

我已經試過:

list3 = zip(list1,list2) 

,並返回

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

我也試過: 列表(itertools.product(列表1,列表2))

但它返回 [( 'A', 'd'),( 'A', 'E'),. ..,( 'C', 'E')],而不是[ 'AD', 'AE', 'BD', '是', 'CD', 'CE']

任何想法? THX

+0

它看起來像你想的'itertools.product'的列表( 「笛卡爾積」) – jonrsharpe

+0

試試這個項目list3 = [I + j爲list1中的i,列表2中的j爲] – Ashish

回答

0

你可以使用itertools.product得到笛卡爾乘積或採用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')] 
0

如何兩個for循環?

僞下面

for item in list1: 
    for item2 in list2: 
     item = item + item2 
2

這應有助於:

>>> from itertools import product 
>>> list1 = ['A','B','C'] 
>>> list2 = ['D', 'E'] 
>>> "".join(list(product(list1, list2))) 
['AD', 'AE', 'BD', 'BE', 'CD', 'CE']