例如,我有一个像这样的列表:
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)
但这将导致列表过多(在此情况下,会有16个列表,即4*4)
map
解决方案的方法:map(operator.add, list1, list2)
。尽管使用带有map
的二进制加号函数是比列表推导式更不为人知的功能。 - Xionmap(add, list1, list2)
将执行得更快。然而,在这种情况下,你最初的答案是正确的。 - jamylak