Ustawka z wężem #4 | Lista
📂 Python
Listy to najseksowniejsza rzecz w Pythonie. To po prostu pudełko, w które możesz wpierdolić co chcesz – liczby, napisy, True/False, a nawet inne listy. I się nie pierdoli z typami jak C czy Java.
Tworzenie listy
zakupy = ['piwo', 'chipsy', 'wódka', 3.5, True, ['prezerwatywy', 'żel']]
pusta = [] # pusta lista, to kurwa klasyka
Indeksy – pamiętaj, że liczymy od zera, bo inaczej jesteś debilem
zakupy[0] # → 'piwo' (pierwszy element!)
zakupy[-1] # → ostatnia rzecz
zakupy[-2] # → przedostatnia
Jak dasz za duży indeks → IndexError, Python Ci przypierdoli w ryj.
Najważniejsze metody – bez tego nie ruszysz dupy
| Metoda | Co robi | Przykład |
|---|---|---|
append(x) | Wpycha coś na koniec | zakupy.append('papierosy') |
pop() | Wyciąga i zwraca ostatni (jak z lodówki) | ostatnie = zakupy.pop() |
pop(0) | Wyciąga z początku (wolniejsze) | |
remove('piwo') | Usuwa pierwsze wystąpienie | |
insert(0, 'wino') | Wciska gdzie chcesz | |
sort() | Sortuje na miejscu | liczby.sort() |
reverse() | Odwraca kolejność | |
count('piwo') | Ile razy coś występuje | |
index('wódka') | Na którym miejscu jest |
Sortowanie – bo czasem trzeba ogarnąć ten burdel
liczby = [66, 13, 37, 69, 420]
liczby.sort() # rosnąco
liczby.sort(reverse=True) # malejąco KRUWA
# albo jak nie chcesz ruszać oryginału:
posortowane = sorted(liczby) # zwraca NOWĄ listę
Wczytywanie liczb od usera – najszybszy sposób
# podajesz w jednej linii: 3 7 13 69 420
a = list(map(int, input().split()))
# i nagle masz listę liczb. Magia, kurwa.
Pętla po liście – trzy sposoby
# 1. Prosto i głupio
for x in lista:
print(x)
# 2. Jak potrzebujesz numerka
for i in range(len(lista)):
print(i, lista[i])
# 3. Najlepszy – z numerkiem od razu
for nr, rzecz in enumerate(lista):
print(nr, rzecz)
Wycinki (slicing) – najseksowniejsza rzecz w Pythonie
cyfry = [0,1,2,3,4,5,6,7,8,9]
cyfry[2:5] # → [2,3,4]
cyfry[:5] # → od początku do 4
cyfry[5:] # → od 5 do końca
cyfry[::2] # → co drugi: [0,2,4,6,8]
cyfry[::-1] # → od tyłu, k***a piękne
Przydatne funkcje wbudowane
sum(a) # suma wszystkiego
len(a) # ile elementów
max(a) # największe
min(a) # najmniejsze
Klasyczne zadanie z kolosa
Wczytaj liczby, wypisz indeksy tych większych od średniej:
dane = list(map(int, input().split()))
srednia = sum(dane) / len(dane)
for i, x in enumerate(dane):
if x > srednia:
print(i, end=' ')
Zadanie: znajdź wszystkie pozycje minimum
dane = list(map(int, input().split()))
minimum = min(dane)
for i, x in enumerate(dane):
if x == minimum:
print(i, end=' ')
Podsumowanie – zapamiętaj albo spierdalaj :)
- Lista =
[] - Pierwszy element =
[0], ostatni =[-1] - Dodajesz na koniec →
append() - Usuwasz ostatni →
pop() - Długość →
len() - Wczytujesz liczby →
list(map(int, input().split())) - Sortujesz →
.sort()albosorted() - Wycinki →
[::]– najpiękniejsza rzecz na świecie