Derivation list to achieve a two-dimensional matrix transpose

a=[[1,2,3],[4,5,6],[7,8,9]]

1    2     3

4    5     6

7    8     9

Switch to:

1     4    7

2    5     8

3     6    9


[ [j[i] for j in a] for i in range(3)]
i=0   j[0]--->[1,4,7]
i=1   j[1]--->[2,5,8]
i=2   j[2]--->[3,6,9]

 

for i in range (3): ---> 3 cycles, I = 0,1,2
    for J in A: ----> 3 cycles, j = first row, second row, third row
        j [i] ----> first: 1,4,7
                 second: 2,5,8
                 third: 3,6,9

 

>>> a=[[1,2,3],[4,5,6],[7,8,9]]
>>> [[j[i] for j in a] for i in range(3)]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

 

 

Upgrade Exercise: delete a column in a two-dimensional matrix.

[[I [J] for J in [1,2]] for I in A]
 A = [[l, 2,3], [4,5,6], [7,8,9]]
for I in a: ---> cycle three times:
               I: first: [l, 2,3]
               I: second: [4,5,6]
               I: third: [7,8,9]

[I [j] for j in [1,2 ]] -----> [i [1], i [2]]

>>> [[i[j] for j in range(3)]  for i in a]
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
>>> [[i[j] for j in [1,2]]  for i in a]
[[2, 3], [5, 6], [8, 9], [11, 12]]
>>> [[i[j] for j in [0,2]]  for i in a]
[[1, 3], [4, 6], [7, 9], [10, 12]]

Guess you like

Origin www.cnblogs.com/wenm1128/p/11619303.html