使用python将列表拆分为两个由所需元素组成的列表

时间:2014-04-07 07:45:53

标签: python

我有一个如下所示的列表:

[[[77.56913757324219, 12.975883483886719], [77.5671615600586, 12.976168632507324], [77.5680160522461, 12.980805397033691], [77.56996154785156, 12.980448722839355], [77.56913757324219, 12.975883483886719]]]

如何将其拆分为两个列表,以便一个列表包含奇数位置的所有元素,另一个列表包含偶数位置的元素。我期望获得的输出是:

list1 = [[[77.56913757324219, 12.975883483886719],[77.5680160522461, 12.980805397033691],[77.56913757324219, 12.975883483886719]]]

list2 = [[[77.5671615600586, 12.976168632507324],[77.56996154785156, 12.980448722839355]]]

我正在寻找使用python的解决方案。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

list1 = list[::2]

list2 = list[1::2]

这两个都使用列表拼接和第三个指定参数,[::2]指定步长值为2

实施例

>>> a = [1,2,3,4,5,6,7]

>>> print a[::2]
[1,3,5,7]

>>> print a[1::2]
[2,4,6]

我知道在你的例子中,列表嵌套在其他列表中,但我会让你弄清楚。希望有所帮助。

答案 1 :(得分:1)

biglist = [[
    [77.56913757324219, 12.975883483886719], [77.5671615600586, 12.976168632507324], 
    [77.5680160522461, 12.980805397033691], [77.56996154785156, 12.980448722839355], 
    [77.56913757324219, 12.975883483886719]
]]

list1 = [ biglist[0][::2] ]
list2 = [ biglist[0][1::2] ]