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
Libérer: 2024-12-16 12:09:11
original
579 Les gens l'ont consulté

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]
Copier après la connexion

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]
Copier après la connexion

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']]
Copier après la connexion

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]]
Copier après la connexion

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal