[Python] Les arguments de longueur variable peuvent être utilisés lors de la décompression des éléments itérables

Récemment, j'ai résolu des problèmes de programmation sur un certain site pour améliorer mes compétences en python. Notez que j'ai remarqué que des arguments de longueur variable peuvent être utilisés dans le prétraitement des données d'entrée.

Les données d'entrée de chaque problème sont données dans le format suivant à partir de l'entrée standard, par exemple.

Nom municipal Superficie de la population
shinjyuku 341009 18.22
・ ・ ・

Plusieurs types sur une ligne, en particulier une chaîne de caractères au début et un motif numérique après tout.

Étant donné que les données lues à partir de l'entrée standard sont stockées sous forme de chaîne de caractères, La conversion est requise pour les données numériques.

>>> name, population, area = input().split(' ')
shinjyuku 341009 18.22
>>> name
'shinjyuku'
>>> population
'341009'
>>> area
'18.22'

Ceci est gênant car il est nécessaire d'effectuer une conversion numérique pour chaque variable. Donc, je veux mettre toutes les parties numériques ensemble dans la liste.

>>> name, data = input().split(' ')
shinjyuku 341009 18.22
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)

Si vous essayez simplement d'attribuer plusieurs valeurs décompressées à une donnée variable, Je me fâche quand il n'y a pas assez de variables. Nous utilisons donc des arguments de longueur variable.

>>> name, *data = input().split(' ')
shinjyuku 341009 18.22
>>> name
'shinjyuku'
>>> data
['341009', '18.22']

C'est un argument de longueur variable que vous voyez et entendez souvent lorsque vous parlez d'arguments de méthode, mais il existe également un tel usage. Cependant, dans ce cas, il semble étrange de l'appeler un "argument de longueur variable".

Recommended Posts

[Python] Les arguments de longueur variable peuvent être utilisés lors de la décompression des éléments itérables
Scripts pouvant être utilisés lors de l'utilisation de Bottle en Python
[Python] Afficher les éléments de la liste en utilisant des arguments de longueur variable
Remarque Python: lorsque la commande pip ne peut pas être utilisée
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
Notes sur les connaissances Python utilisables avec AtCoder
Peut être utilisé chez les pros de la compétition! Bibliothèque standard Python
[Python3] Code qui peut être utilisé lorsque vous souhaitez redimensionner des images dossier par dossier
SSD 1306 OLED peut être utilisé avec Raspeye + python (Remarque)
Peut être utilisé lorsque aws-cli est disponible mais que jq n'est pas disponible jp.py
Nouvelles fonctionnalités de Python 3.9 (1) -L'opérateur d'ensemble de somme peut être utilisé dans le type de dictionnaire.
Résumé de l'entrée standard de Python pouvant être utilisée dans Competition Pro
Module standard Python utilisable en ligne de commande
[Python] Soyez prudent lorsque vous utilisez print
Python --Symboles utilisés lors de l'exécution d'opérations
J'ai créé un modèle de projet Python générique
Optimisation mathématique pour un travail gratuit avec Python + PuLP
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
EP 17 Soyez défensif lorsque vous répétez des arguments
Résumé des sources de données scikit-learn pouvant être utilisées lors de la rédaction d'articles d'analyse
Comment installer la bibliothèque Python qui peut être utilisée par les sociétés pharmaceutiques
Mémo de correspondance lorsque la touche de direction ne peut pas être utilisée dans la ligne de commande python