Lorsque vous travaillez avec des listes imbriquées, il devient souvent nécessaire de convertir chaque élément en un type de données différent. Un scénario courant consiste à convertir des chaînes en flottants. Au lieu d'utiliser des boucles imbriquées, les compréhensions de liste fournissent une solution concise et efficace.
Pour convertir chaque élément d'une liste imbriquée en flottant, une compréhension de liste imbriquée peut être utilisée :
[[float(y) for y in x] for x in l]
Cette expression parcourt chaque sous-liste x dans la liste principale l et crée une nouvelle sous-liste contenant des flottants convertis à partir des chaînes dans x. La liste résultante aura la même structure que la liste d'origine, mais avec des flottants au lieu de chaînes.
Si une seule liste aplatie est souhaitée, l'ordre des boucles peut être inversé :
[float(y) for x in l for y in x]
Dans ce cas, y parcourt tous les éléments de toutes les sous-listes, tandis que x parcourt les sous-listes elles-mêmes. Le résultat est une liste unique contenant tous les flottants dérivés de la liste imbriquée.
Considérez la liste imbriquée suivante :
l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
En utilisant la compréhension de liste imbriquée, le résultat serait :
[[40.0, 20.0, 10.0, 30.0], [20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0], [30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0], [100.0, 100.0], [100.0, 100.0, 100.0, 100.0, 100.0], [100.0, 100.0, 100.0, 100.0]]
En utilisant la compréhension de liste aplatie, le résultat serait être :
[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
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!