Vor kurzem habe ich Programmierprobleme auf einer bestimmten Site gelöst, um meine Python-Fähigkeiten zu verbessern. Beachten Sie, dass mir aufgefallen ist, dass Argumente mit variabler Länge bei der Vorverarbeitung von Eingabedaten verwendet werden können.
Die Eingabedaten jedes Problems werden beispielsweise im folgenden Format aus der Standardeingabe angegeben.
Gemeindename Bevölkerungsgebiet
shinjyuku 341009 18.22
・ ・ ・
Mehrere Typen in einer Zeile, insbesondere eine Zeichenfolge am Anfang und schließlich ein numerisches Muster.
Da die von der Standardeingabe gelesenen Daten als Zeichenkettentyp gespeichert werden, Für numerische Daten ist eine Konvertierung erforderlich.
>>> name, population, area = input().split(' ')
shinjyuku 341009 18.22
>>> name
'shinjyuku'
>>> population
'341009'
>>> area
'18.22'
Dies ist problematisch, da für jede Variable eine numerische Konvertierung durchgeführt werden muss. Ich möchte also alle numerischen Teile in der Liste zusammenfassen.
>>> 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)
Wenn Sie einfach versuchen, einer Variablen mehrere entpackte Werte zuzuweisen, Ich werde wütend, wenn es nicht genug Variablen gibt. Wir verwenden also Argumente variabler Länge.
>>> name, *data = input().split(' ')
shinjyuku 341009 18.22
>>> name
'shinjyuku'
>>> data
['341009', '18.22']
Es ist ein Argument variabler Länge, das Sie häufig sehen und hören, wenn Sie über Methodenargumente sprechen, aber es gibt auch eine solche Verwendung. In diesem Fall fühlt es sich jedoch seltsam an, es als "Argument variabler Länge" zu bezeichnen.
Recommended Posts