说我有一些像这样的名单:
myList1 = [1,2,3]
myList2 = [7,8,9]
myList3 = [13,14,15]
我将它们附加到更大的列表中:
myBigList = []
myBigList.append(myList1)
myBigList.append(myList2)
myBigList.append(myList3)
现在我有这样的小名单:
a = []
b = []
c = []
我如何遍历我的' myBigList'列表,并拉出所有较小列表的第一个值,并将这些值存储在A中,我所有较短列表的第二个值,在B中,以及c中所有第三个中较短的值?我感谢所有的帮助。
答案 0 :(得分:3)
zip
很棒。
>>> myList1 = [1,2,3]
>>> myList2 = [7,8,9]
>>> myList3 = [13,14,15]
>>> myBigList = []
>>> myBigList.append(myList1)
>>> myBigList.append(myList2)
>>> myBigList.append(myList3)
>>> myBigList
[[1, 2, 3], [7, 8, 9], [13, 14, 15]]
>>> a, b, c = zip(*myBigList)
>>> a
(1, 7, 13)
>>> b
(2, 8, 14)
>>> c
(3, 9, 15)
您使用的是myBigList
吗?如果需要,您可以a
,b
和c
到达,而不必将它们放入myBigList
。
>>> a, b, c = zip(myList1, myList2, myList3)
>>> a
(1, 7, 13)
>>> b
(2, 8, 14)
>>> c
(3, 9, 15)
答案 1 :(得分:2)
a = [x[0] for x in myBigList]
b = [x[1] for x in myBigList]
c = [x[2] for x in myBigList]
编辑:更有效和优化的解决方案
a,b,c = [[x[i] for x in myBigList] for i in range(3)]