Maison >développement back-end >Tutoriel Python >Comment puis-je convertir des listes imbriquées de chaînes en flottants à l'aide des compréhensions de listes en Python ?

Comment puis-je convertir des listes imbriquées de chaînes en flottants à l'aide des compréhensions de listes en Python ?

DDD
DDDoriginal
2024-12-16 12:09:11584parcourir

How Can I Convert Nested Lists of Strings to Floats Using List Comprehensions in Python?

Conversion de listes imbriquées en flottants à l'aide de compréhensions de listes

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.

Compréhension de liste imbriquée

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.

Compréhension de la liste aplatie

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.

Exemple d'utilisation

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn