Получить каждый первый элемент двумерного списка - PullRequest
0 голосов
/ 13 января 2020

Есть ли способ, как я могу получить каждый первый / второй / третий / ... элемент двумерного списка, например, из списка

list = [[1,2], [3,4], [5, 6]]

Получить значения 1,3,5 или это возможно только с al oop? Потому что al oop не будет очень практичным, если я захочу сделать

If 2 in list:
...

Ответы [ 3 ]

1 голос
/ 13 января 2020

Понимание списка будет работать просто отлично. Вы индексируете каждый элемент отдельно:

firsts = [x[0] for x in lst]  # [1,3,5]
seconds = [x[1] for x in lst]  # [2,4,6]
# etc

При желании вы можете использовать понимание списка в строке:

if 2 in [x[1] for x in lst]:
    print("Found 2 in a sublist")
0 голосов
/ 13 января 2020

Вы можете использовать карту

l = [[1,2], [3,4], [5, 6]]
result = map(lambda x: x[0], l)
print(list(result))
0 голосов
/ 13 января 2020

Вы можете использовать zip для транспонирования списка:

lst = [[1,2], [3,4], [5, 6]]
lst_transp = list(zip(*lst))

print(lst_transp)
# output: [(1, 3, 5), (2, 4, 6)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...