1.4. Listy i krotki
Informacja
W tym przykładzie poznasz listę oraz krotki. Są to jedne z najczęściej używanych złożonych struktur danych, które pozwalają przechowywać wiele danych pod jedną nazwą.
1.4.1. Zadanie
Napisz program lista.py, który pobiera z klawiatury n liczb całkowitych i zapisuje je w liście.
Następnie wykonuje podane niżej operacje:
wypisuje elementy listy i ich indeksy w jednym wierszu,
wypisuje elementy listy w odwrotnej kolejności
wypisuje elementy listy posortowane w porządku niemalejącym,
wypisuje liczbę wystąpień oraz indeks pierwszego wystąpienia podanego elementu,
usuwa z listy podany element,
usuwa z listy element o podanym indeksie,
wstawia podany element na podanym indeksie,
wypisuje z listy elementy od indeksu
idoj.
Dane:
Wszystkie dane to liczby całkowite pobierane z klawiatury, niektóre dane zapisywane są w tych samych zmiennych. sam.
n– liczba liczb pobieranych z klawiatury i zapisywanych w liście,el– liczba, którą należy z listy usunąć,el– liczba, której liczbę wystąpień i indeks pierwszego wystąpienia należy wypisać,ind– indeks elementu do usunięcia,ind, el– indeks i element, który należy wstawić do tabeli,i, j– indeksy pobierane z klawiatury, oznaczające wycinek listy do wypisania.
Wskazówka
Wszystkie poniższe przykłady operacji na listach warto wykonać w konsoli Pythona.
Treść komunikatów w funkcjach print() można skrócić.
Można również wpisywać kolejne polecenia do pliku i sukcesywnie go uruchomiać.
1from random import randint
2
3n = int(input('Ile liczb podasz? '))
4lista = [] # pusta lista
5for i in range(n):
6 liczba = int(input('Podaj liczbę: '))
7 lista.append(liczba)
8print('Elementy listy:', lista)
9print()
10
11print('Elementy i indeksy – sposób 1:')
12for i in range(n):
13 # wypisuje: element (indeks)
14 print(f'{lista[i]} ({i})', end=' ')
15print('\n')
16
17print('Elementy i indeksy – sposób 2:')
18for i, e in enumerate(lista):
19 print(f'{e} ({i})', end=' ')
20print('\n')
21
22print('Elementy posortowane nierosnąco:')
23for e in reversed(lista):
24 print(e, end=' ')
25print('\n')
26
27print('Elementy posortowane niemalejąco:')
28for e in sorted(lista):
29 print(e, end=' ')
30print('\n')
31
32el = int(input('Podaj element, którego wystąpienia należy zliczyć: '))
33if el in lista:
34 print('Liczba wystąpień:', lista.count(el))
35 print('Indeks pierwszego wystąpienia:', lista.index(el))
36else:
37 print('Brak elementu w liście!')
38print()
39
40el = int(input('Podaj element do usunięcia: '))
41lista.remove(el)
42print(f'Usunięto {el} z listy:', lista)
43print()
44
45ind = int(input('Podaj indeks elementu do usunięcia: '))
46if 0 <= ind < len(lista):
47 el = lista.pop(ind)
48 print(f'Usunięto {el} z listy:', lista)
49else:
50 print('Indeks poza zakresem.')
51print()
52
53el = int(input('Podaj element do wstawienia: '))
54ind = int(input('Podaj indeks: '))
55lista.insert(ind, el)
56print(lista, '\n')
57
58i = int(input('Podaj indeks początkowy: '))
59j = int(input('Podaj indeks końcowy: '))
60print(lista[i:j])
Lista to sekwencja indeksowanych danych, zazwyczaj tego samego typu, w kodzie łatwo ją rozpoznać po nawiasach kwadratowych. Podstawowe operacje:
lista = [3, 'III', 4, 'IV']– utworzenie listy poprzez podanie wartości,lista = []– utworzenie pustej listy,lista[0]– odczyt elementu o podanym indeksie, indeksy zaczynają się od 0 (zera),lista[1:4]– odczyt elementów od indeksu 1 do 3 przy użyciu notacji wycinkowej.
Funkcje działające na sekwencjach:
len()– zwraca liczbę elementów;enumerate()– zwraca numer elementu i element sekwencji;sorted(lista)– zwraca kopię sekwencji posortowanej niemalejąco;sorted(lista, reverse=True)– zwraca kopię sekwencji w odwrotnym porządku;reversed()– zwraca kopię sekwencji w odwrotnym porządku.
Informacja
Sekwencjami są w Pythonie również ciągi znaków i krotki (tuple).
Metody obiektów typu lista:
.append(x)– dodaje x do listy;.remove(x)– usuwa pierwszy x z listy;.insert(i, x)– wstawia x na indeksie i;.count(x)– zwraca liczbę wystąpień x;.index(x)– zwraca indeks pierwszego wystąpienia x;.pop()– usuwa i zwraca ostatni element listy;.pop(i)– usuwa i zwraca element wskazany przez i;.sort()– sortuje listę rosnąco;.reverse()– sortuje listę w odwróconym porządku.
Krotka (tupla) to niemodyfikowalna lista. Wykorzystywana jest do zapamiętywania
i przekazywania wartości, których nie powinno się zmieniać.
Krotki tworzymy podając wartości w nawiasach okrągłych, np. krotka = (1, 'a')
lub z listy za pomocą funkcji: tuple(sekwencja). Krotka może powstać
również poprzez spakowanie wartości oddzielonych przecinkami,
np. krotka = 1, 'a'. Próba zmiany wartości w krotce generuje błąd.
Przetestuj w konsoli Pythona:
>>> krotka = 2, 6
>>> a, b = krotka
>>> print(a, b)
>>> krotka[0] = 1
1.4.1.1. Ćwiczenia
Utwórz w konsoli Pythona dowolną listę i przećwicz notację wycinkową:
sprawdź działanie indeksów pustych i ujemnych, np.
lista[2:], lista[:4], lista[-2], lista[-2:],posortuj trwale dowolną listę malejąco,
utwórz kopię listy posortowaną rosnąco.
Pojęcia
Materiały Python 101
udostępniane przez
Centrum Edukacji Obywatelskiej na licencji
Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowa.
- Utworzony:
2026-05-30 o 19:12 w Sphinx 7.3.7
- Autorzy: