2015-12-04 5 views
-1

Поэтому мне нужно добавить два списка вместе. Каждый элемент списка, прикрепленный к каждому элементу из списка 2. Итак, окончательный список будет примерно таким: ['L1[0]L2[0]','L1[1]L2[1]','L1[2]L2[2]','L1[3]L2[3]']. Я продолжаю сталкиваться с проблемой установки цикла for внутри другого цикла, но результат состоит в том, что первый элемент цикла повторяется несколько раз. Я понимаю, что это не работает, если кто-то может дать мне толчок или где-то заглянуть в информацию об этом предмете. Как всегда спасибо за помощь !! Вот мой код:Итерация через два списка и добавление элементов вместе

def listCombo(aList): 
     myList=['hello','what','good','lol','newb'] 
     newList=[] 
     for a in alist: 
      for n in myList: 
        newList.append(a+n) 
     return newList 

Пример:

List1=['florida','texas','washington','alaska'] 
List2=['north','south','west','east'] 

result= ['floridanorth','texassouth','washingtonwest','','alaskaeast'] 
+0

Сообщение пример наряду с ожидаемым выходом. –

+0

Вы слышали про zip? –

+0

Я никогда не слышал об zip или не учил этому. Я рассмотрю это, спасибо! –

ответ

0

список постижение над zip:

[x[0]+x[1] for x in zip(list1,list2)] 

>>> [x[0]+x[1] for x in zip(['1','2','3'],['3','4','5'])] 
# ['13', '24', '35'] 
2

Вы должны использовать почтовый индекс.

[i+j for i,j in zip(l1, l2)] 

Пример:

>>> List1=['florida','texas','washington','alaska'] 
>>> List2=['north','south','west','east'] 
>>> [i+j for i,j in zip(List1, List2)] 
['floridanorth', 'texassouth', 'washingtonwest', 'alaskaeast'] 
+0

clean & pythonic, +1 –

+0

Мне нравится, хотя есть несколько других подходов, которые потенциально могут ускориться на CPython для больших входов (обычно это не стоит того, но стоит отметить): 'map (''. Join, zip (l1 , l2)) '(завернутый в' list() 'на Py3, если вы не просто повторяете результат один раз или нуждаетесь в истинном« списке »по какой-то другой причине). Или с импортом, 'от оператора import concat',' map (concat, l1, l2) ', что делает линию использования еще проще. :-) – ShadowRanger

Смежные вопросы