Generuje nam ciąg liczb (dedykowany typ range). Trzeba zamienić na listę “by podejrzeć”.
Uwaga: wszystkie argumenty muszą być w typie całkowitym.
Jeden argument - to “koniec” - ciąg tworzą liczby naturalne od \(0\) do \(n-1\). Krok domyślny to 1.
Dwa argumenty - to “początek” i “koniec”. Krok domyślny to 1. Wtedy wyświetlone są liczby całkowite z przedziału lewostronnie domkniętego \([początek, koniec)\).
Trzy argumenty - to “początek”, “koniec” oraz krok.
Co oznacza w Pythonie, że wartości przekazywane są przez referencję?
a =5b = ab +=2print(a)print(b)
5
7
Listy
Lista w Pythonie to tzw. typ sekwencyjny umożliwia przechowywanie elementów różnych typów.
Cechy:
zmienny (mutable) - umożliwia przypisanie wartości pojedynczym elementom
do zapisu używamy nawiasów kwadratowych
poszczególne elementy rozdzielamy przecinkami
każdy element listy ma przyporządkowany indeks
elementy listy są numerowane od zera
listy są uporządkowane
listy są dynamiczne (mogą mieć różną długość)
listy mogą być zagnieżdżone
Uwaga!
Listy w języku Python są specyficzną strukturą danych nie zawsze dostępną w innych językach programowania. Pojęcie listy w całej informatyce “szersze”. Wyróżnia się np. listy jednokierunkowe, które nie muszą mieć indeksu. Nie będziemy takich przypadków analizować.
nazwa = [element1, element2, ..., elementN]
Pusta lista:
a = []b =list()
Lista z liczbami:
a = [2, 3, 4.5, 5, -3.2]
Lista mieszana:
b = ['abcd', 25+3j, True, 1]
Kolejność ma znaczenie
a = [1, 2, 3, 4]b = [4, 3, 2, 1]print(a == b)
False
Elementy na liście nie muszą być unikalne
a = [1, 2, 3, 4, 2]b = [1, 2, 3, 4]print(a)print(a == b)
[1, 2, 3, 4, 2]
False
Indeks - dostęp do elementów listy (od zera)
a = [1, 3, 'abc', False, -2.3, 'XYZ', 9.3]print(a[1])print(a[4])print(a[0])#print(a[7])
3
-2.3
1
a = [1, 3, 'abc', False, -2.3, 'XYZ', 9.3]print(a[-1])print(a[-5])print(a[-7])
9.3
abc
1
a = [1, 3, 'abc', False, -2.3, 'XYZ', 9.3]print(a[1:4])print(a[-5:-2])print(a[:4])
list.clear() - usuwa wszystkie elementy z listy. Równoważnie: del a[:]
a = [1, 3, 'abc', False]a.clear()print(a)
[]
list.index(x) - zwraca indeks elementu x (o ile istnieje, inaczej błąd), w przypadku duplikatów pierwszy z lewej list.index(x,start) - zwraca indeks elementu x (o ile istnieje, inaczej błąd) zaczynając od pozycji start, w przypadku duplikatów pierwszy z lewej list.index(x,start,end) - zwraca indeks elementu x (o ile istnieje, inaczej błąd) zaczynając od pozycji start a kończąc na end-1, w przypadku duplikatów pierwszy z lewej