Seite 1 von 1

Zahlen in einer Liste multiplizieren, ohne die Reihenfolge zu verlieren

Verfasst: Freitag 7. Januar 2022, 07:21
von Jet
v = [2, -3, 5]

sk = [i*4 for i in v if i > 0] + [i*1 for i in v if not i > 0]

print(sk)


Kann mir jemand sagen, wie die Reihenfolge hierbei aufrecht bleibt? :geek:

Re: Zahlen in einer Liste multiplizieren, ohne die Reihenfolge zu verlieren

Verfasst: Freitag 7. Januar 2022, 09:19
von __deets__
not i > 0 - da muss man erstmal drauf kommen 😰

Wenn du die Reihenfolge beibehalten willst, musst du die Bedingung in den Ausdruck vorne ziehen, mit einem ternären if.

[i * 4 if i > 0 else i for i …]

Re: Zahlen in einer Liste multiplizieren, ohne die Reihenfolge zu verlieren

Verfasst: Freitag 7. Januar 2022, 17:11
von Jet
__deets__ hat geschrieben: Freitag 7. Januar 2022, 09:19 not i > 0 - da muss man erstmal drauf kommen 😰

Wenn du die Reihenfolge beibehalten willst, musst du die Bedingung in den Ausdruck vorne ziehen, mit einem ternären if.

[i * 4 if i > 0 else i for i …]
hat echt geklappt, danke :o

Re: Zahlen in einer Liste multiplizieren, ohne die Reihenfolge zu verlieren

Verfasst: Freitag 7. Januar 2022, 19:09
von DeaD_EyE
Viel besser wäre es noch, wenn Menschen die Namen auch verstehen würden.
Man darf auch Namen verwenden, die mehr als einen Buchstaben enthalten.

Ich weiß, Namen vergeben ist mit das schwierigste beim Programmieren.