Listy w Pythonie
Programowanie w Pythonie
Korzystasz z platformy z limitem dziennym na liczbę odpowiedzi. Aby zwiększyć limit lub uzyskać dostęp do konta z licencją, zaloguj się.
Zaloguj sięLista (list) to uporządkowana kolekcja wartości dowolnego typu.
Tworzenie listy
Listy zapisujemy w nawiasach kwadratowych:
s = [] # pusta lista
s = [8, 3, 45] # lista trzech liczbListę można też utworzyć za pomocą słowa kluczowego list.
s = list("krowa") # powstaje lista ['k', 'r', 'o', 'w', 'a']Indeksowanie
Do elementów listy odwołujemy się za pomocą indeksów w nawiasach kwadratowych. Ważne: indeksujemy od zera. Możemy też używać indeksów ujemnych, aby liczyć od końca:
s = ["pies", "krowa", "owca", "koza"]
s[0] # pierwszy element listy => "pies"
s[1] # drugi element listy => "krowa"
s[-1] # ostatni element listy => "koza"
s[-2] # przedostatni element listy => "owca"Za pomocą dwukropka możemy wycinać fragmenty listy:
numbers = [37, 99, 42, 7, 13, 1, 1000]
print(numbers[2:5]) # => [42, 7, 13]
print(numbers[:3]) # => [37, 99, 42]
print(numbers[-2:]) # => [1, 1000]Operacje na listach
Przydatne funkcje:
s = [8, 3, 45]
a = len(s) # długość listy
s.append(7) # dodanie elementu do listy
s.sort() # sortowanie elementów listy
t = sorted(s) # tworzy nową, posortowaną listę
# s nie zmienia sięZwróć uwagę, że używamy tutaj tzw. notacji kropkowej: zapisujemy s.sort(), a nie zwykłe wywołanie funkcji w postaci sort(s). Wynika to z tego, że listy w Pythonie są traktowane jako obiekty.
Listy i pętla for
Za pomocą pętli for możemy przechodzić po elementach listy:
s = [8, 3, 45]
for x in s:
print(x)Możemy też przechodzić po liście za pomocą indeksów (ten sposób zapisu jest bardziej podobny do tego, który stosuje się w innych językach programowania):
for i in range(len(s)):
print(s[i])Fatal error: Uncaught TypeError: App\Service\PsService::getUserItemStatusByPs(): Argument #1 ($user) must be of type int, null given, called in /var/www/umiemyprogramowac.pl/webroot/src/Snippet/Exercise/ItemBasedExercise/ItemBasedExercisePlugin.php on line 66 and defined in /var/www/umiemyprogramowac.pl/webroot/src/Service/PsService.php:69 Stack trace: #0 /var/www/umiemyprogramowac.pl/webroot/src/Snippet/Exercise/ItemBasedExercise/ItemBasedExercisePlugin.php(66): App\Service\PsService->getUserItemStatusByPs() #1 [internal function]: App\Snippet\Exercise\ItemBasedExercise\ItemBasedExercisePlugin->progress() #2 /var/www/umiemyprogramowac.pl/webroot/src/Helper/ExerciseHeaderBuilder.php(20): call_user_func() #3 /var/www/umiemyprogramowac.pl/webroot/src/Template/BaseExercise/default.php(26): App\Helper\ExerciseHeaderBuilder->render() #4 /var/www/umiemyprogramowac.pl/webroot/src/Controller/BaseExercise.php(119): require('...') #5 /var/www/umiemyprogramowac.pl/webroot/exercise/ipython.php(21): App\Controller\BaseExercise->renderDefault() #6 /var/www/umiemyprogramowac.pl/webroot/index.php(119): include('...') #7 {main} thrown in /var/www/umiemyprogramowac.pl/webroot/src/Service/PsService.php on line 69