Drucken und for-Schleife in einer Zeile

Arkistarvh Kltzuonstev

Gibt es einen alternativen Liner für diesen einfachen Codeblock:

n = int(input())
for i in range(n):
    print(i**2)

Ich habe es versucht:

print(i**2 for i in range(int(input())))

Es nimmt eine Eingabe entgegen, gibt aber den folgenden Fehler aus:

<generator object <genexpr> at 0x00000000032D3E60>

Mein Problem ist ein bisschen anders als dieses qs . Das qs half beim Drucken von Elementen in einer Liste, ob ich sie in Zeilenumbruch drucken muss.

PM 2Ring

Wie Jon und Patrick erwähnen, ist dies kein Fehler. Es passiert, wenn Sie den __repr__Ausdruck eines Generators ausdrucken.

Sie müssen also nur diesen Generator "splat" . :) :)

print(*(i**2 for i in range(int(input()))), sep='\n')

Demo-Ausgabe

10
0
1
4
9
16
25
36
49
64
81

In dieser Demo habe ich 10an der inputEingabeaufforderung eingegeben .


In den Kommentaren habe ich mich gefragt, wie die Geschwindigkeit im i * iVergleich zu i ** 2. Auf meinem alten 2-GHz-32-Bit-Single-Core-Computer ist Python 3.6.0 i * ietwa drei- oder viermal schneller als i ** 2. Hier ist ein timeitCode.

from timeit import Timer

commands = {'mul' : 'num * num', 'pow' : 'num ** 2'}

def time_test(num, loops, reps):
    timings = []
    setup = 'num = {}'.format(num) 
    for name, cmd in commands.items():
        result = Timer(cmd, setup).repeat(reps, loops)
        result.sort()
        timings.append((result, name))

    timings.sort()
    for result, name in timings:
        print(name, result)

loops, reps = 100000, 3
num = 1
for _ in range(10):
    print('num =', num)
    time_test(num, loops, reps)
    num <<= 1

Ausgabe

num = 1
mul [0.02114695899945218, 0.02127135100090527, 0.02303983199817594]
pow [0.08504067399917403, 0.08687452600133838, 0.12349813100081519]
num = 2
mul [0.02089159800016205, 0.021789606998936506, 0.02889108999806922]
pow [0.08612996800002293, 0.09132789800059982, 0.09559987299871864]
num = 4
mul [0.021155500999157084, 0.02333696799905738, 0.028521009000542108]
pow [0.08492234799996368, 0.08499632499660947, 0.08537705599883338]
num = 8
mul [0.02173021600174252, 0.021955170999717666, 0.02823427400289802]
pow [0.08423048700205982, 0.08541251700080466, 0.08654486299928976]
num = 16
mul [0.02176373900147155, 0.02222509399871342, 0.02816650199747528]
pow [0.08528696699795546, 0.09080051600176375, 0.0968476650014054]
num = 32
mul [0.03118283900039387, 0.03388790600001812, 0.03745272100059083]
pow [0.0943321790000482, 0.09484523300125147, 0.09691544299857924]
num = 64
mul [0.030481540998152923, 0.03292956899895216, 0.03887743200175464]
pow [0.09454960600123741, 0.09569520199875114, 0.09926063899911242]
num = 128
mul [0.030935312999645248, 0.031198748001770582, 0.03733277300125337]
pow [0.09531564099961543, 0.09669112700066762, 0.09679062199938926]
num = 256
mul [0.03280377900227904, 0.03324341500047012, 0.04479783699935069]
pow [0.09439349899912486, 0.09439918999851216, 0.09548852000079933]
num = 512
mul [0.03275527599907946, 0.03428718699797173, 0.038492286003020126]
pow [0.10492119499758701, 0.10698100599984173, 0.13057717199990293]

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

While-Schleife, um Vokale und andere Elemente in einer neuen Zeile in JavaScript zu drucken

Python: "Drucken" und "Eingeben" in einer Zeile

Ausgabe / Drucken von 6 Zahlen pro Zeile aus einer Schleife

Drucken eines Satzes pro Zeile nach einer for-Schleife

Drucken Sie in derselben Zeile und nicht in einer neuen Zeile in Python

Drucken einer Ganzzahlvariablen und einer Zeichenfolge in derselben Zeile in SQL

Drucken aus einer Schleife

Dynamisch in einer Zeile drucken

String in einer Zeile drucken

Befehlsschreiben in einer Zeile drucken

Erstellen einer Anweisung aus der While-Schleife und Drucken

Suchen und Drucken einer bestimmten Zeile mit Java IO

So drucken Sie die Ausgabe einer for-Schleife in einer einzigen Zeile in Bash

Drucken einer einzelnen Zeile aus einer Datei und Entfernen der zusätzlichen Zeile am Ende

Wenn String in einer Datei mit String in einer anderen übereinstimmt, Zeile und nächste Zeile drucken

DataFrame schreibt Informationen in eine bestimmte Spalte und Zeile in einer Schleife

Laravel Blade - Kopf- und Fußzeile in einer Schleife

Ich möchte eine bestimmte Zeile nur einmal in einer for-Schleife mit Python 3.4 drucken

Drucken Sie Text aus der while-Schleife in einer einzelnen Zeile in Python

Beim Drucken der Listenansicht mit einer Schleife werden alle Zeilen in derselben Zeile C # gedruckt.

Python: NUR 1 Mal eine Zeile in einer while-Schleife drucken

Wie können Sie die erste for-Schleife von verschachtelten for-Schleifen in einer Zeile drucken?

Ich versuche, die Ausgabe meiner for-Schleife in einer einzigen Zeile in der Konsole zu drucken

Zeile in einer Schleife erneut drucken, wenn der 'X'-Wert in Java nicht erfüllt ist

Wie kann ich den Listenindex in einer Zeile und die Listenelemente in der nächsten Zeile in Python drucken?

Ordnen Sie Zeichen in einer Zeile zu und drucken Sie die Zeile vor Python

Lesen und Drucken von Textdateien von einer Website-URL Zeile für Zeile

Zeile für Zeile an einen DataFrame anhängen, mit einer for-Schleife und einer if-Anweisung

Drucken von Informationen einer Schleife

TOP Liste

  1. 1

    Modbus Python Schneider PM5300

  2. 2

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  3. 3

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  4. 4

    Elasticsearch startet nicht nach dem Laden in viele Daten

  5. 5

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  6. 6

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  7. 7

    Eclipse Oxygen - Projekte verschwinden

  8. 8

    Wie kann ich den Kaskadenmodus global einstellen?

  9. 9

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  10. 10

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  11. 11

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

  12. 12

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  13. 13

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  14. 14

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  15. 15

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  16. 16

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  17. 17

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  18. 18

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  19. 19

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  20. 20

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  21. 21

    So erstellen Sie ein langes Etikett inline mit einem Eingabefeld

heißlabel

Archiv