Listy
Stronę tą wyświetlono już: 3669 razy
Listy są odpowiednikami tablic, czy też kontenerów obiektów w C++, jednakże Pythonowe listy mogą przechowywać obiekty dowolnych różnych typów. Oto sposób utworzenia pustej listy:
- lista = list()
a oto drugi sposób utworzenia pustej listy:
- lista = []
Na dowód, że mówiłem prawdę utwórzmy sobie listę, która przechowuje obiekty różnych typów:
- lista = [100, 300.45, "Jakiś tam tekst"]
- print(lista)
Iterowania po elementach listy:
- lista = list(range(0,11)) # tworzę listę o elementach od 0 do 10 z krokiem 1
- for i in lista:
- print(i)
Sprawdzania, czy na liście znajduje się dany element za pomocą operatora in:
- lista = [100, 300.45, "Jakiś tam tekst"]
- if "Jakiś tam tekst" in lista:
- print("Jest na liście!")
- else:
- print("Nie ma naliście!")
Znajdowanie indeksu elementu listy za pomocą jej wewnętrznej metody index:
- lista = [100, 300.45, "Jakiś tam tekst"]
- if "Jakiś tam tekst" in lista:
- print(lista.index("Jakiś tam tekst"))
- else:
- print("Nie ma takiego elementu na liście")
Łączenie dwóch list:
- lista1 = list(range(0,11))
- lista2 = list(range(0,-5,-1))
- lista3 = lista1 + lista2
- print(lista3)
Wynik:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, -1, -2, -3, -4]
Inny sposób na to samo, czyli użycie metody extend:
- lista1 = list(range(0,11))
- lista2 = list(range(0,-5,-1))
- lista3 = []
- lista3.extend(lista1)
- lista3.extend(lista2)
- print(lista3)
Dodawanie elementu na końcu listy:
- lista = list(range(0,11))
- lista.append(11)
Dodanie elementu do listy w podanym indeksie:
- lista = list(range(0,11))
- lista.insert(2, 10)
- print(lista)
Wynik:
[0, 1, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Usuwanie ostatniego elementu listy wraz z jego zwróceniem za pomocą metody pop:
- lista = list(range(1,11))
- print(lista.pop())
- print(lista)
Wynik:
10 [1, 2, 3, 4, 5, 6, 7, 8, 9]
Usuwanie dowolnego elementu listy wraz z jego zwróceniem za pomocą metody pop:
- lista = list(range(1,11))
- print(lista.pop(2))
- print(lista)
Wynik:
3 [1, 2, 4, 5, 6, 7, 8, 9, 10]
Usuwanie dowolnego elementu listy bez zwracania za pomocą słowa kluczowego del:
- lista = list(range(1,11))
- del lista[2]
- print(lista)
Wynik:
3 [1, 2, 4, 5, 6, 7, 8, 9, 10]
Usuwanie pierwszego elementu listy, który będzie równy podanej wartości za pomocą metody remove:
- lista = [1, 12, 10, 12, 14]
- while 12 in lista:
- lista.remove(12)
- print(lista)
Wynik:
[1, 10, 12, 14] [1, 10, 14]
Czyszczenie listy za pomocą metody clear:
- lista = list(range(1,11))
- print(lista)
- lista.clear()
- print(lista)
Wynik:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] []
Kopiowanie listy za pomocą metody copy:
- lista = list(range(1,11))
- lista2 = list.copy()
- lista2.append(10)
- lista3 = lista
- lista3[0] = 50
- print(lista)
- print(lista2)
- print(lista3)
Wynik działania:
Wynik:
[50, 2, 3, 4, 5, 6, 7, 8, 9, 10] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10] [50, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Wynik powyższego kodu wyjaśnia dlaczego trzeba kopiować listę.
Odwracanie listy
Pierwszy sposób za pomocą metody reverse:
- lista = list(range(1,11))
- lista.reverse()
- print(lista)
Wynik:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
Drugi sposób:
- lista = list(range(1,11))
- print(lista[::-1])
Sortowanie listy za pomocą metody sort, tutaj w najprostszej możliwej postaci:
- lista = list(range(10,0,-1))
- lista.sort()
- print(lista)
Wynik:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Zliczanie liczby elementów równych podanej wartości znajdujących się na liście:
- lista = [2, 3, 2, 6, 3, 3, 9, 5]
- print(lista.count(3))
Wynik:
3
Wyciąganie fragmentu listy
- lista = list(range(1,11))
- print(lista[1:4])
- print(lista[4:1:-1])
Wynik:
[2, 3, 4] [4, 3, 2]
Liczba elementów listy
Liczbę elementów listy można pozyskać za pomocą len:
- lista = list(range(1, 11))
- print(len(lista))
Można też wykorzystać wewnętrzną metodę __len__:
- lista = list(range(1, 11))
- print(lista.__len__())
Najmniejsza wartość na liście
Jeżeli lista zwiera wartości liczbowe, można użyć funkcji min do znalezienia najmniejszej wartości w liście:
- lista = list(range(1, 11))
- print(min(lista))
Wynik:
1
Największa wartość na liście
Jeżeli lista zwiera wartości liczbowe, można użyć funkcji max do znalezienia największej wartości w liście:
- lista = list(range(1, 11))
- print(max(lista))
Wynik:
10
Sumowanie elementów listy
Jeżeli lista zwiera wartości liczbowe, można użyć funkcji sum do zsumowania wartości liczbowych znajdujących się w liście:
- lista = list(range(1, 11))
- print(sum(lista))
Wynik:
55

Tytuł:
Python w zadaniach. Programowanie dla młodzieży. Poziom podstawowy
Autor:
Urszula Wiejak, Adrian Wojciechowski

Tytuł:
Python i praca z danymi. Przetwarzanie, analiza, modelowanie i wizualizacja. Wydanie III
Autor:
Avinash Navlani, Armando Fandango, Ivan Idris

Tytuł:
Black Hat Python. Język Python dla hakerów i pentesterów. Wydanie II
Autor:
Justin Seitz, Tim Arnold

Tytuł:
Python z życia wzięty. Rozwiązywanie problemów za pomocą kilku linii kodu
Autor:
Lee Vaughan

Tytuł:
Python dla nastolatków. Projekty graficzne z Python Turtle
Autor:
Krzysztof Łos

Tytuł:
Python i Excel. Nowoczesne środowisko do automatyzacji i analizy danych
Autor:
Felix Zumstein

Tytuł:
Python dla testera
Autor:
Piotr Wróblewski

Tytuł:
Python 3. Projekty dla początkujących i pasjonatów
Autor:
Adam Jurkiewicz

Tytuł:
Machine learning, Python i data science. Wprowadzenie
Autor:
Andreas C. Müller, Sarah Guido

Tytuł:
Python na maturze. Rozwiązania i analiza wybranych zadań programistycznych
Autor:
Roland Zimek