Comprendre les compréhensions de listes imbriquées
Les compréhensions de listes imbriquées offrent un moyen concis et puissant de transformer et de combiner des structures de données en Python. La syntaxe de base consiste à placer plusieurs expressions for entre crochets, chacune d'entre elles étant entourée de son propre ensemble d'expressions.
Traduction en boucles For équivalentes
À pour comprendre les compréhensions de listes imbriquées, il est utile de les traduire dans leur équivalent sous forme de boucle. Prenons l'exemple :
[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]
Cela peut être exprimé sous forme de boucle for comme suit :
result = [] for i in range(len(rows[0])): inner_result = [] for row in rows: inner_result.append(row[i]) inner_result2 = [] for row in rows: inner_result2.append(row[i]) tuple = (min(inner_result), max(inner_result2)) result.append(tuple)
Généraliser le modèle
Ce qui précède L'exemple suit un modèle général :
[exp2([exp1 for x in xSet]) for y in ySet]
Équivalent pour la boucle :
result = [] for y in ySet: inner_result = [] for x in xSet: inner_result.append(exp1) exp2_result = exp2(inner_result) result.append(exp2_result)
Autres exemples
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!