例如,我有一个这样的列表:
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
使用列表理解:zip
通过组合给定的iterable中的元素,生成元组列表。所以在您的例子中,它将返回来自list1
和list2
的元素对,直到首先耗尽的元素为止。使用您尝试的循环的解决方案是一种方法,这比Xions解决方案更适合初学者。
这也适用于较短的解决方案。使用map()和lambda,我更喜欢这个而不是zip,但这取决于每个人
对于这个或任何两个相同大小的列表,您也可以这样使用:
相关问题 更多 >
编程相关推荐