Python operations list

I got this list:

input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 

I want to create new lists with each index element:

i.e.

 output = [[1,5,9],[2,6,10],[3,7,11],[4,8,12]] 
+4
source share
2 answers

This is a canonical zip example:

 In [6]: inlist = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] In [7]: out=zip(*inlist) In [8]: out Out[8]: [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)] 

Or, to get a list of lists (rather than a list of tuples):

 In [9]: out=[list(group) for group in zip(*inlist)] In [10]: out Out[10]: [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]] 
+8
source

Use zip() :

 input = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] output = zip(*input) 

This will give you a list of tuples. To get a list of lists, use

 output = map(list, zip(*input)) 
+4
source

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


All Articles