Kezdőoldal » Számítástechnika » Programozás » Python, ne adjon a listához...

Python, ne adjon a listához semmit, ha a hosszúsága kisebb, mint 10?

Figyelt kérdés

return list([len(item) == 10 and item for item in lista])


Itt, hogyha az item hosszúsága 10 akkor a listához hozzáadja az itemet. Hogyha nem, akkor azt adja hozzá, hogy "False". Hogyan lehetne megoldani, hogy ne adjon hozzá semmit a False helyett? Hogyha azt mondom pl, hogy

return list([(item if len(item) == 10 else None) for item in lista])

akkor False helyett a "None"-t adja hozzá, ha meg azt írom, hogy else "", akkor meg egy 0 hosszúságú stringet. Nekem arra lenne szükségem, hogy ne adjon hozzá semmit, hogyha False, None, azaz negatív lenne a feltétel.


Ötletek?


2021. aug. 21. 20:30
 1/6 A kérdező kommentje:
Az egy megoldás, hogy az egész return-t inkább egy my_list változónak adom mint értéket, és arra írok egy my_list.remove(False) sort és aztán returnolom a my_listet, viszont minél rövidebben kellene ezt megoldanom.
2021. aug. 21. 20:35
 2/6 anonim ***** válasza:
77%
[ item for item in lista if len(item) == 10 ]
2021. aug. 21. 22:12
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:
90%
A 2-es válasszal mi a probléma? Szerintem is az a válasz a kérdésedre.
2021. aug. 22. 00:36
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Ahogy írtam

"Yup, ugyanúgy követeli az "else" részt a végére"


Egysoros ifeknél megköveteli az else-t, és mivel egy list-be toltjük be ezzel a generátorral, nemhogy a fent írt probléma nem szűnik meg, így mégúgyse működik. Sőt, a for szintaxisa sem jó, mert nem tehetsz oda ifet.

Ezen felül mi bajom vele? A világon semmi.

2021. aug. 22. 00:43
 5/6 anonim ***** válasza:
90%

Kipróbáltad?

Mert működik és ez a megoldás a problémádra.

Ez nem "egysoros if", vagy minek nevezed, hanem list comprehensiün, aminek ez a szintaktikája, és igen, lehet ott if és még else se kell mellé. Tényleg próbáld ki.

2021. aug. 22. 09:26
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
2021. aug. 23. 22:05
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!