Как добавить элементы из двух списков в один список?

Например, у меня есть список вроде этого:

list1 = [good, bad, tall, big] list2 = [boy, girl, guy, man] 

и я хочу сделать такой список:

 list3 = [goodboy, badgirl, tallguy, bigman] 

Я попробовал что-то вроде этого:

 list3=[] list3 = list1 + list2 

но это будет содержать только значение list1

Поэтому я использовал for :

 list3 = [] for a in list1: for b in list2: c = a + b list3.append(c) 

но это приведет к слишком большому количеству списков (в этом случае 4 * 4 = 16 из них)

Что мне делать? Любая помощь будет действительно замечательной!

4 Solutions collect form web for “Как добавить элементы из двух списков в один список?”

Вы можете использовать списки в zip :

 list3 = [a + b for a, b in zip(list1, list2)] 

zip создает список кортежей путем объединения элементов из итераций, которые вы им даете. Таким образом, в вашем случае он вернет пары элементов из list1 и list2 , вплоть до того, что изначально исчерпано.

Решение, использующее цикл, который вы пытаетесь, является одним из способов, это более дружелюбный к новичкам, чем решение Xions.

 list3 = [] for index, item in enumerate(list1): list3.append(list1[index] + list2[index]) 

Это также будет работать для более короткого решения. Используя map () и лямбда, я предпочитаю это над zip, но это касается всех

 list3 = map(lambda x, y: str(x) + str(y), list1, list2); 

для этого или любых двух списков одинакового размера вы также можете использовать так:

 for i in range(len(list1)): list3[i]=list1[i]+list2[i] 

Использование zip

 list3 = [] for l1,l2 in zip(list1,list2): list3.append(l1+l2) 

list3 = ['goodboy', 'badgirl', 'tallguy', 'bigman']

Python - лучший язык программирования в мире.