繁体   English   中英

如何将两个列表的元素添加到一个列表中?

[英]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通过组合您提供的可迭代对象中的元素来生成元组列表。 因此,在您的情况下,它将返回list1list2中的元素对,直到最先用完为止。

您尝试使用循环的解决方案是一种方法,这比 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM