K_ Douli
K_ Douli

Reputation: 43

How to slice a list that contains two list for each?

I am trying to select the first list in each row and return them as list using the slicing methods:

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]]

Upvotes: 1

Views: 28

Answers (1)

MBT
MBT

Reputation: 24119

This should work for you:

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

Output:

[[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]]

Upvotes: 1

Related Questions