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 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!