MC, 2025
Ilustracja do artykułu: 10 python list comprehension tricks por amuziĝi programante

10 python list comprehension tricks por amuziĝi programante

Se vi iam programis en Python, vi certe renkontis la koncepton de "list comprehension". Ĝi estas unu el tiuj funkcioj, kiuj ŝajnas simplaj komence, sed kaŝas grandegan potencon sub la kapuĉo. En ĉi tiu artikolo ni esploros 10 genialajn python list comprehension tricks, kiuj ne nur ŝparos al vi tempon, sed ankaŭ plibeligos la legadon kaj efikecon de via kodo. Kaj kompreneble, ni montros multajn python list comprehension tricks przykłady por praktiki tuj!

1. Baza kompreno: la unua paŝo

Ni komencu per klasika ekzemplo. Ni volas kvadrati ĉiujn nombrojn de 1 ĝis 10:

squares = [x**2 for x in range(1, 11)]

Jen ĝi! Mallonga, klara kaj multe pli eleganta ol longa for-buklo.

2. Aldonu kondiĉon (if)

Supozu, ke vi volas nur la parajn kvadratojn:

even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]

La "if" ĉe la fino permesas filtri elementojn antaŭ ol aldoni ilin al la listo.

3. Uzo de if-else por krei logikon

Kiel pri uzi if-else rekte en la listo por transformo?

labels = ['even' if x % 2 == 0 else 'odd' for x in range(1, 6)]

Rezulto: ['odd', 'even', 'odd', 'even', 'odd']

Tio estas tre utila por klasifiki aŭ marki datumojn rapide.

4. Nestitaj listoj (Listoj en listoj!)

Kiam vi volas generi 2D-strukturojn, list comprehension ege helpas:

matrix = [[x * y for x in range(1, 4)] for y in range(1, 4)]

Rezultas 3x3 matrico – efike kaj legeble!

5. Spati ĉenojn per kompreno

Ĉu vi volas filtri literojn el vorto?

vowels = [ch for ch in "esperanto" if ch in 'aeiou']

La rezulto estas listo de ĉiuj vokaloj en la vorto. Simplaj trukoj, grandaj efikoj!

6. Transformado de tekstoj (Uppercase rapide!)

Transformu ĉiujn vortojn en listo al majuskloj:

words = ["saluton", "mondo"]
upper_words = [w.upper() for w in words]

Tre utila por preparado de datumoj antaŭ konservado aŭ analizo.

7. Uzo kun dictionaries

List comprehension funkcias kun dict.items() ankaŭ!

d = {'a': 1, 'b': 2, 'c': 3}
doubled = {k: v * 2 for k, v in d.items()}

Same eblas filtri nur tiujn kun specifaj valoroj.

8. Elflatado de listoj (Flatten nested lists)

Unu el plej utilaj python list comprehension tricks estas elplatigi nestitajn listojn:

nested = [[1, 2], [3, 4], [5]]
flat = [num for sublist in nested for num in sublist]

Rezulto: [1, 2, 3, 4, 5] – simpla, pura maniero eligi ĉion en unu nivelo.

9. Uzo kun funkcioj

Vi povas apliki funkciojn rekte al la elemento:

def funkcio(n):
    return n * n + 1

results = [funkcio(x) for x in range(5)]

Ĉi tio estas precipe utila en daten-prilaborado aŭ modelado.

10. Kombini kun enumerate aŭ zip

Kombinu enumerate por akiri indeksojn kaj valorojn:

items = ['a', 'b', 'c']
indexed = [(i, v) for i, v in enumerate(items)]

Aŭ kun zip por kunligi du listojn:

names = ['Ana', 'Bert', 'Caro']
scores = [85, 92, 78]
report = [f"{n}: {s}" for n, s in zip(names, scores)]

Rezulto: ["Ana: 85", "Bert: 92", "Caro: 78"]

Konsiloj por uzi list comprehension respondece

Kvankam list comprehension estas bela kaj potenca ilo, ĝi povas fariĝi malklara se tro uzata aŭ tro nestita.

Evitu tre longajn aŭ komplikajn unu-liniaĵojn. Se via kompreno fariĝas tro komplika, eble estas pli bone uzi kutiman for-buklon por pli klara kodo.

Bonus: Set kaj dict comprehension

Ĉu vi sciis, ke vi povas fari similajn komprenojn por set kaj dict?

unique = {x for x in [1, 2, 2, 3, 1]}
squared_dict = {x: x**2 for x in range(5)}

Tio malfermas pli da ebloj por efika struktura manipulado.

Konkludo: Pli mallongaj kodoj, pli feliĉa programisto!

Ni esperas, ke ĉi tiu gvidilo pri python list comprehension tricks helpis vin pensi alimaniere pri via kodo. Kiam vi scias kiel uzi ĉi tiujn python list comprehension tricks przykłady, vi povas krei pli mallongajn, pli klarajn kaj pli efikajn programojn – kaj samtempe ĝui la procezon!

Ĉu vi havas vian propran ŝatatan trukon? Kunhavigu ĝin kun ni en la komentoj!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: