Szybka edycja list

Python został wyposażony w ciekawy sposób tworzenia nowej listy, będącej pochodną jakiejś innej. Przydaje się on szczególnie, gdy chcemy wykonać jedną operację (np. zmianę wszystkich liter na wielkie) na każdym z elementów pierwotnej listy. Postaram zademonstrować taką operację w dalszej części tego artykułu.

Załóżmy, że mamy pewną listę, która wygląda następująco (takie dane zdarzają się często, gdy dajemy ludziom do wypełnienia formularz elektroniczny):

1
imiona = ["MAREk", "darek", "Grzesiek", "sTeFan"]

Chcielibyśmy teraz sprawić, żeby każde imię na liście zostało zapisane z wielkiej litery, a pozostałe były małe. Wielu osobom nasunie się teraz pomysł stworzenia pętli for i zamiany edycji każdego stringa metodą .capitalize(). Pomysł jest dobry, ale polecam użycie poniższego rozwiązania:

1
2
imiona = ["MAREk", "darek", "Grzesiek", "sTeFan"]
imiona_nowe = [x.capitalize() for x in imiona]

Zaoszczędzimy kilka linijek kodu w porównaniu do tradycyjnego użycia pętli for , a efekt będzie taki sam i będzie wyglądał następująco:

1
['Marek', 'Darek', 'Grzesiek', 'Stefan']

W identyczny sposób można postępować z innymi listami i używać innych metod lub funkcji. Zachęcam do eksperymentowania z tym sposobem.