[英]How do i add two lists' elements into one list?
例如,我有一个这样的列表:
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 个)
您可以将列表理解与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() 和 lambda,我更喜欢这个而不是 zip,但这取决于每个人
list3 = map(lambda x, y: str(x) + str(y), list1, list2);
对于这个或任何两个相同大小的列表,您也可以这样使用:
for i in range(len(list1)):
list3[i]=list1[i]+list2[i]
使用压缩包
list3 = []
for l1,l2 in zip(list1,list2):
list3.append(l1+l2)
list3 = ['goodboy', 'badgirl', 'tallguy', 'bigman']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.