How to access a column in a list of lists in python

I have a 2D array in python modeled by a list of lists and I want to extract a column. I did a quick research and I found a way that uses numpy arrays. The problem is that I don't want to use numpy , so I don't want to convert my list of lists to a numpy array, and then use the syntax [:, 1]. I tried using it in a regular list of lists, but it shows an error, so this is not possible. I request similar information for a list of lists without having to go through each element (in numpy arrays, it is faster to access a column using the syntax [:, 1] than iterating over the elements of an array).

I found this link, but again it offers iteration over elements without a label.

Thanks in advance.

+5
source share
2 answers

When analyzing a list of lists, a List understands your friend:

In [111]: alist Out[111]: [[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]] In [112]: [row[1] for row in alist] Out[112]: [1, 7, 13, 19] 

There is also a convenient "idiom" for moving a nested list, turning "columns" into "rows":

 In [113]: tlist = list(zip(*alist)) In [114]: tlist Out[114]: [(0, 6, 12, 18), (1, 7, 13, 19), (2, 8, 14, 20), (3, 9, 15, 21), (4, 10, 16, 22), (5, 11, 17, 23)] In [115]: tlist[1] Out[115]: (1, 7, 13, 19) 
+8
source

You can move your nested list (i.e., convert your "columns" to "rows"): fooobar.com/questions/411691 / ...

0
source

Source: https://habr.com/ru/post/1268538/


All Articles