Liste Wert für Wer durchgehen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Hallo,
ich weiß, dass es wahrscheinlich sehr einfach ist.
Ich habe eine Liste und will werte die unter einer Grenze liegen auf 0 setzen und anderenfalls erhöhen.

Ich denke dass, das es mit einer for-Schleife funktionieren könnte.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Oder map mit lambda.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
BlackJack

Oder mit einer „list comprehension”.

@paupau90: Der Hauptpunkt dürfte sein: Häng Dich nicht zu sehr an den Gedanken die Werte in der Liste zu verändern, sondern erstelle eine neue Liste mit den veränderten Werten. Das ist in Python der üblichere/natürlichere Weg.
Ene Uran
User
Beiträge: 125
Registriert: Sonntag 17. September 2006, 20:14
Wohnort: Hollywood

Eine Moeglichkeit ...

Code: Alles auswählen

seq = [2, 3, 4, 5, 6]

new_seq = [0 if n < 4 else n for n in seq]

print(new_seq)  # [0, 0, 4, 5, 6]
Atomkraftwerkaktienbesitzer
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

darktrym hat geschrieben:Oder map mit lambda.

Code: Alles auswählen

map(lambda x: 0 if x < 4 else x, range(2, 7))
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

oder mit numpy

Code: Alles auswählen

import numpy as np
seq = np.array([2, 3, 4, 5, 6])
seq[seq<4]=0
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten