如何从列表列表中获取值并将其添加到较小的列表中

时间:2015-06-20 04:12:52

标签: python

说我有一些像这样的名单:

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中所有第三个中较短的值?我感谢所有的帮助。

2 个答案:

答案 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吗?如果需要,您可以abc到达,而不必将它们放入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)]