如何切割包含两个列表的列表?

时间:2018-05-09 19:30:40

标签: python list slice python-3.6

我正在尝试选择每行中的第一个列表并将其作为列表返回 使用切片方法:

l = [[[0, 1, 1, 0, 0, 0, 2, 1, 2, 0, 1, 2], [0.0]],
     [[1, 1, 0, 2, 0, 0, 0, 1, 2, 1, 2, 2], [0.0]],
     [[0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 1, 0], [0.0]],
     [[1, 1, 0, 1, 2, 2, 2, 2, 0, 0, 2, 2], [0.0]],
     [[1, 2, 2, 0, 0, 2, 1, 1, 1, 2, 1, 0], [0.0]],
     [[0, 2, 1, 2, 0, 1, 2, 1, 1, 2, 2, 2], [0.0]],
     [[0, 0, 2, 0, 0, 1, 1, 1, 1, 0, 0, 2], [0.0]],
     [[0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2], [0.0]],
     [[1, 1, 1, 2, 1, 2, 2, 1, 0, 2, 0, 2], [0.0]],
     [[0, 1, 1, 0, 0, 0, 1, 2, 1, 0, 1, 0], [0.0]]]

# i want to get this 

l1 = [[0, 1, 1, 0, 0, 0, 2, 1, 2, 0, 1, 2],
     [1, 1, 0, 2, 0, 0, 0, 1, 2, 1, 2, 2],
     [0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 1, 0],
     [1, 1, 0, 1, 2, 2, 2, 2, 0, 0, 2, 2],
     [1, 2, 2, 0, 0, 2, 1, 1, 1, 2, 1, 0],
     [0, 2, 1, 2, 0, 1, 2, 1, 1, 2, 2, 2],
     [0, 0, 2, 0, 0, 1, 1, 1, 1, 0, 0, 2],
     [0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2],
     [1, 1, 1, 2, 1, 2, 2, 1, 0, 2, 0, 2],
     [0, 1, 1, 0, 0, 0, 1, 2, 1, 0, 1, 0]]

1 个答案:

答案 0 :(得分:1)

这应该适合你:

list(map(lambda x: x[0], l))

<强>输出:

[[0, 1, 1, 0, 0, 0, 2, 1, 2, 0, 1, 2],
 [1, 1, 0, 2, 0, 0, 0, 1, 2, 1, 2, 2],
 [0, 2, 2, 1, 2, 1, 0, 2, 2, 2, 1, 0],
 [1, 1, 0, 1, 2, 2, 2, 2, 0, 0, 2, 2],
 [1, 2, 2, 0, 0, 2, 1, 1, 1, 2, 1, 0],
 [0, 2, 1, 2, 0, 1, 2, 1, 1, 2, 2, 2],
 [0, 0, 2, 0, 0, 1, 1, 1, 1, 0, 0, 2],
 [0, 2, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2],
 [1, 1, 1, 2, 1, 2, 2, 1, 0, 2, 0, 2],
 [0, 1, 1, 0, 0, 0, 1, 2, 1, 0, 1, 0]]