Listy skladane


Listy składane (ang. list comprehension) są potężnym narzędzie, które tworzy nową tablicę na podstawie innej tablicy. I to wszystko w jednej, czytelnej instrukcji.

Przykładowo powiedzmy, że potrzebujemy stworzyć nową tablicę liczb całkowitych, które określają długość każdego słowa w pewnym napisie, ale pod warunkiem, że nie jest to słowo "nad".

napis = 'Odwazny rudy lis przeskoczyl nad spiacym wilczurem'
slowa = napis.split() # tworzymy tablice ze slowami zawartymi w napisie
dlugosc_slow = []
for slowo in slowa:
    if slowo != 'nad':
        dlugosc_slow.append(len(slowo))

print dlugosc_slow

Za pomocą listy składanej możemy uprościć cały zapis:

napis = 'Odwazny rudy lis przeskoczyl nad spiacym wilczurem'
slowa = napis.split()
dlugosc_slow = [len(slowo) for slowo in slowa if slowo != 'nad']

print dlugosc_slow

Jeśli chcemy, to możemy pominąć część z if, dzięki czemu operacja będzie przeprowadzona dla wszystkich obiektów.

napis = 'Odwazny rudy lis przeskoczyl nad spiacym wilczurem'
slowa = napis.split()
dlugosc_slow = [len(slowo) for slowo in slowa]

print dlugosc_slow

Ćwiczenie

Z pomocą listy składanej stwórz nową tablicę nowa na podstawie tablicy liczby. nowa ma się składać z całkowitych części nieujemnych liczb tablicy liczby. Wskazówka: liczbę rzeczywistą możemy zaokrąglić do całkowitej za pomocą int(), np.: int(4.3) da nam 4.


Copyright © learnpython.org. Read our Terms of Use and Privacy Policy