2016-04-27 2 views
0

Мне нужно concatenate 2 разных списка строк в python.объединить строки в 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', 'BE', 'CD', 'CE']

Любая идея? THX

+0

Похоже, что вы хотите 'itertools.product' ("декартово произведение") из списков – jonrsharpe

+0

Попробуйте песни3 = [I + j для i в списке1 для j в списке2] – 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 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'] 
Смежные вопросы