Есть ли способ получить несмежные столбцы из списка списков в Python, используя понимание? Я имею в виду, если у нас есть список:
a = [[1,2,3],[4,5,6]]
и я хочу первый и третий столбец, т.е.
[[1,3],[4,6]]
могу ли я получить этот список с предложением, похожим на:
[row[1,3] for row in a]
??
Спасибо за помощь!
>>> a = [[1,2,3],[4,5,6]] >>> from operator import itemgetter >>> map(itemgetter(0,2), a) [(1, 3), (4, 6)] >>>
или в виде списка
>>> [itemgetter(0,2)(i) for i in a] [(1, 3), (4, 6)]
Это будет работать:
>>> a = [[1,2,3],[4,5,6]] >>> [(x[0], x[2]) for x in a] [(1, 3), (4, 6)]