Ligne unique imbriquée pour les boucles

| |

Écrit cette fonction en python qui transpose une matrice :

def transpose(m): height = len(m) width = len(m[0]) return [ [ m[i ][j] for i in range(0, height) ] for j in range(0, width) ] 

Au cours du processus, j'ai réalisé que je ne comprenais pas entièrement comment une seule ligne était imbriquée Les boucles for s'exécutent. Veuillez m'aider à comprendre en répondant aux questions suivantes :

  1. Quel est l'ordre dans lequel cette boucle for s'exécute ?
  2. Si j'avais une triple boucle for imbriquée , dans quel ordre serait-il exécuté ?
  3. Quel serait égal à la boucle for égale non imbriquée ?

Étant donné,

[ function( i,j) for i,j in object ] 
  1. Quel type d'objet doit être pour utiliser cette structure de boucle for ?
  2. Quel est l'ordre dans lequel i et j sont affectés aux éléments de l'objet ?
  3. Peut-il être simulé par une structure de boucle for différente ?
  4. Cette boucle for peut-elle être imbriquée avec une structure for similaire ou différente boucle ? Et à quoi cela ressemblerait-il ?

Addi les informations professionnelles sont également appréciées.