58
Rozdział 2.
Jeden na raz
„Rozrost” listy w czasie wykonania
Nasz bieżący program wyświetla na ekranie każdą znalezioną samogłoskę włącznie z każdym
duplikatem, jaki napotka. Aby wymienić tylko unikatowe wystąpienia samogłosek (i uniknąć
wyświetlania duplikatów), musimy zapamiętywać każdą z tych, które zostaną znalezione, zanim
pokażemy je na ekranie. Aby to zrobić, należy skorzystać z drugiej struktury danych.
Nie możemy użyć istniejącej listy
vowels
, ponieważ jest nam ona potrzebna do szybkiego
sprawdzania, czy litera, którą właśnie przetwarzamy, jest samogłoską. Potrzebna nam jest druga
lista, która na początku będzie zupełnie pusta i będzie wypełniana w czasie działania programu
kolejnymi samogłoskami, które uda nam się znaleźć.
Tak jak robiliśmy to w poprzednim rozdziale, spróbujmy poeksperymentować w powłoce
przed
wprowadzeniem jakichkolwiek zmian w kodzie naszego programu. Aby utworzyć nową, pustą listę,
należy wymyślić jakąś nazwę zmiennej, a następnie przypisać jej pustą listę. Naszej drugiej liście
nadajmy nazwę
found
. Poniżej przypisujemy zmiennej
found
pustą listę
[]
, a następnie korzystamy
z wbudowanej funkcji Pythona o nazwie
len
, aby sprawdzić, ile obiektów należy do kolekcji.
obiekt
obiekt
obiekt
obiekt
obiekt
Lista
0
1
2
3
4
Listy oferują zestaw wbudowanych
metod
, których można używać do manipulowania należącymi
do nich obiektami. Aby wywołać metodę, skorzystaj ze
składni z notacją kropkową, a więc
dodaj kropkę na końcu nazwy listy, a po niej — odpowiednie wywołanie. Z wieloma metodami
zapoznasz się w dalszej części tego rozdziału. Teraz skorzystajmy z metody
append
, aby dodać
obiekt na końcu pustej listy, którą przed chwilą utworzyliśmy.
>>> found = []
>>> len(found)
0
Pusta lista...
...co do której, dzięki interpreterowi
(i funkcji len), mamy pewność, że nie
zawiera żadnych obiektów.
Wbudowana funkcja
len wyświetla
informacje
o rozmiarze obiektu.
>>> found.append(‘a’)
>>> len(found)
1
>>> found
[‘a’]
Dodawanie elementu do istniejącej
listy w czasie wykonania programu
za pomocą metody append.
Długość listy właśnie się zwiększyła.
Wyświetlenie zawartości listy przez powłokę stanowi
potwierdzenie, że obiekt jest teraz częścią listy.
Ponowne wywołania metody
append
powodują dodanie kolejnych obiektów na końcu listy.
Listy oferują
sporo
wbudowanych
metod.
>>> found.append(‘e’)
>>> found.append(‘i’)
>>> found.append(‘o’)
>>> len(found)
4
>>> found
[‘a’, ‘e’, ‘i’, ‘o’]
Kolejne elementy zostają
dodane w czasie wykonania.
Ponownie korzystamy
z powłoki, aby potwierdzić,
że wszystko jest w porządku.
Sprawdźmy teraz, co trzeba zrobić, aby przekonać się, czy lista zawiera obiekt.
Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.