list)¶Przykłady podobne (nie identyczne) do pokazanych na wykładzie w interpreterze.
Więcej: https://docs.python.org/3/tutorial/datastructures.html#more-on-lists
lst = [1, 2, 3]
Doklej 10:
lst.append(10)
lst
[1, 2, 3, 10]
Rozszerzanie list o ciąg (obiekt iterowalny):
lst.extend("abb")
lst
[1, 2, 3, 10, 'a', 'b', 'b']
Wstaw "X" pod indeks 2 (rozsuwajac listę):
lst.insert(2, "X")
lst
[1, 2, 'X', 3, 10, 'a', 'b', 'b']
Usuń element spod indeksu 3 (nie metodą):
del lst[3]
lst
[1, 2, 'X', 10, 'a', 'b', 'b']
Usuń element spod indeksu 3 (metodą listy):
a = lst.pop(3)
print(a, lst)
10 [1, 2, 'X', 'a', 'b', 'b']
Usuń pierwsze wystapienie "X" na liscie:
lst.remove("X")
lst
[1, 2, 'a', 'b', 'b']
Pod którym indeksem jest pierwsze wystąpienie 'a'?
lst.index('a') # por. s.index(x, start, end)
2
Ile razy 'b' jest na liście?
lst.count('b')
2
Odwroć listę:
lst.reverse()
lst
['b', 'b', 'a', 2, 1]
Posortuj listę (niemalejąco):
lst = [4, 2, 5, 1, 6]
lst.sort() # por. s.sort(reverse=True)
lst
[1, 2, 4, 5, 6]
Usuń wszystkie elementy z listy:
lst.clear()
lst
[]
Kopiowanie list (ale nie obiektów z list!), trzy sposoby:
lst = [1, 2, 3]
a = lst.copy()
b = lst[:] # patrz: slicing
c = list(lst)
print(a, b, c)
[1, 2, 3] [1, 2, 3] [1, 2, 3]
Inne operacje (np. minimum, maksimum, suma listy):
lst = [34, 676, 234, 56]
print(max(lst), min(lst), len(lst), sum(lst))
print(sorted(lst))
print(list(reversed(lst)))
# reversed(lst) - obiekt iterowalny (ale nie lista)
676 34 4 1000 [34, 56, 234, 676] [56, 234, 676, 34]
Slicing - podobny do indeksowania, ale dotyczy kawałków (wycinków) list.
lst = list(range(10))
print(lst[2:6])
print(lst[2:])
print(lst[:5])
[2, 3, 4, 5] [2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4]
lst[3:6] = "abcdef"
lst
[0, 1, 2, 'a', 'b', 'c', 'd', 'e', 'f', 6, 7, 8, 9]
Extended slicing:
lst = list(range(10))
print(lst[::2])
lst[::-2] = [100, 101, 102, 103, 104]
print(lst)
[0, 2, 4, 6, 8] [0, 104, 2, 103, 4, 102, 6, 101, 8, 100]