Maison  >  Article  >  développement back-end  >  Comment analyser des chaînes numériques séparées par des espaces dans des listes d'entiers ?

Comment analyser des chaînes numériques séparées par des espaces dans des listes d'entiers ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 10:56:02795parcourir

How to Parse Space-Separated Numerical Strings into Integer Lists?

Comment analyser efficacement des chaînes numériques séparées par des espaces dans des listes d'entiers

La tâche d'extraction d'entiers d'une chaîne de nombres séparés par des espaces peut semblent au premier abord simples. Cependant, pour parvenir à une implémentation robuste, plusieurs considérations se posent.

Partage sur des espaces blancs

Une approche viable consiste à utiliser la fonction split() intégrée de Python. En divisant la chaîne en espaces, nous pouvons obtenir une liste de sous-chaînes représentant chaque nombre individuel :

"42 0".split()
# ['42', '0']

Cette approche est simple et efficace lorsqu'il s'agit de chaînes contenant uniquement des espaces simples entre les nombres.

Conversion en entiers

Pour convertir les sous-chaînes en entiers, nous pouvons utiliser la fonction map() :

map(int, ["42", "0"])
# [42, 0]

La fonction map() prend une fonction et un itérable comme arguments. Dans ce cas, la fonction est int, qui convertit chaque élément de l'itérable en entier. En Python 2, map() renvoie un itérable, tandis qu'en Python 3, il renvoie un itérateur paresseux. Pour obtenir une liste d'entiers, nous pouvons convertir le résultat en une liste en utilisant list() :

list(map(int, ["42", "0"]))
# [42, 0]

Alternativement :

Diviser la chaîne sur des espaces seuls peut ne suffit pas dans tous les cas, surtout lorsqu'il s'agit de plusieurs espaces consécutifs. Comme alternative, on pourrait utiliser des expressions régulières qui correspondent à toutes les séquences de chiffres, puis convertir ces correspondances en nombres entiers à l'aide de l'extrait de code décrit ci-dessus.

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