说是否
list1 = ['apple', 'orange', 'grape']
list2 = ['pineapple', 'banana', 'pear']
你怎么能添加它们以便
list3 = ['apple pineapple', 'orange banana', 'grape pear']
在for语句中使用for语句我可以解决这个问题:
applepineapple
applebanana
applepear
orangepineapple
orangebanana
orangepear
grapepineapple
grapebanana
grapepear
谢谢!
答案 0 :(得分:5)
有很多方法可以做到这一点。一种方法是使用zip
列表理解:
>>> zip(list1, list2)
[('apple', 'pineapple'), ('orange', 'banana'), ('grape', 'pear')]
>>> ['{} {}'.format(x, y) for x, y in zip(list1, list2)]
['apple pineapple', 'orange banana', 'grape pear']
您还可以使用连接(x + ' ' + y
)或插值('%s %s' % (x, y)
)来形成字符串。
答案 1 :(得分:2)
>>> list1 = ['apple', 'orange', 'grape']
>>> list2 = ['pineapple', 'banana', 'pear']
>>> [ list1[x]+ " " +list2[x] for x in range(len(list1))] # both should must have same length
['apple pineapple', 'orange banana', 'grape pear']
pythonic方式:
>>> map(" ".join,zip(list1,list2))
['apple pineapple', 'orange banana', 'grape pear']
答案 2 :(得分:1)
print ([' '.join(z) for z in zip(list1,list2)])
答案 3 :(得分:0)
您可以在以下行中执行以下操作:
new_list = map(lambda x:x [0] +'' + x [1],zip(list1,list2))
zip()采用两个序列和表单列表,其中第i个条目是包含第一个列表的第i个条目和第二个列表的第i个条目的元组。 map(func,sequence)将给定函数应用于序列。这两个命令将为您节省大量时间使用列表。