Maison >développement back-end >Tutoriel Python >Comment puis-je aplatir et convertir une liste imbriquée de chaînes en une liste plate de flottants en Python ?

Comment puis-je aplatir et convertir une liste imbriquée de chaînes en une liste plate de flottants en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-23 19:01:15753parcourir

How Can I Flatten and Convert a Nested List of Strings to a Flat List of Floats in Python?

Aplatissement et conversion de listes imbriquées en flottants à l'aide de compréhensions de listes

En Python, les listes imbriquées sont couramment utilisées pour représenter des structures de données complexes. Parfois, il peut être nécessaire d'aplatir ces listes ou de convertir leurs éléments en un type de données différent, tel que float. Voici comment y parvenir en utilisant la compréhension de liste.

Conversion de 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']]

Pour convertir chaque élément dans cette liste imbriquée pour flotter, vous pouvez utiliser une liste imbriquée compréhension :

[[float(y) for y in x] for x in l]

Cette compréhension parcourt chaque sous-liste x dans l et crée une nouvelle liste contenant des éléments de type float, remplaçant les chaînes d'origine.

Aplatissement et conversion

Si vous souhaitez aplatir la liste imbriquée tout en convertissant les éléments en éléments flottants, vous pouvez utilisation :

[float(y) for x in l for y in x]

Ici, la compréhension est plus complexe. Il parcourt d'abord les sous-listes de l, puis les éléments de chaque sous-liste. Chaque élément y est converti en float et ajouté à la liste plate finale.

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