mit map(int, raw_input().split())
Aber ich mag python sehr, Wenn ich brauche, um mehrere integer-Eingänge in der gleichen Zeile, ich bevorzuge C/C++. Wenn ich python benutze ich:
a = map(int, raw_input().split())
Ist dies der einzige Weg oder gibt es eine pythonic Weg, es zu tun? Und kostet das viel soweit die Zeit in Betracht gezogen?
- Sie erhalten nicht die Konvertierungen in C/C++ kostenlos entweder.
- Nein, aber C/C++ kann erkennen, mehrere ganze zahlen, wenn Sie getrennt sind durch Raum. Also, ich kann Sie erhalten, als mehrere Ganzzahlen direkt.
- Sie nicht "erkennen", Sie analysiert die Zeichenfolge.
- Der Unterschied ist, ich muss die ganze Zeile von ganzen zahlen als eine einzige Zeile(String) in python. Aber ich kann es als ein array von Ganzzahlen in C
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie anzeigen mit built-in-Funktion, dann kann es etwas schneller als bei LC:
Mit Benutzer-definierter Funktion:
Python 3.3.1 Vergleiche:
Vom Python-performance-Tipps Seite:
map
gibt einen iterator in py3x.mix all these?
[e+1 for e in foo if e%3]
ist das gleiche, alsmap(lambda e: e+1, filter(lambda e: e%3, foo))
aber LC sind schneller in diesem Fall (und mehr Pythonic, ist es nicht?)sys.std.readline
stattraw_input
.Liste Verstehens!
Intuitive und pythonic:
Überprüfen Sie heraus diese Diskussion hier: Python List Comprehension Vs. Anzeigen
Diese: