Python - listy
Najbardziej podstawową strukturą danych w Pythonie jest sequence. Każdy element sekwencji ma przypisany numer - jego pozycję lub indeks. Pierwszy indeks to zero, drugi to jeden i tak dalej.
Python ma sześć wbudowanych typów sekwencji, ale najczęściej są to listy i krotki, które zobaczylibyśmy w tym samouczku.
Są pewne rzeczy, które możesz zrobić ze wszystkimi typami sekwencji. Te operacje obejmują indeksowanie, wycinanie, dodawanie, mnożenie i sprawdzanie członkostwa. Ponadto Python ma wbudowane funkcje do znajdowania długości sekwencji oraz znajdowania jej największych i najmniejszych elementów.
Listy w Pythonie
Lista jest najbardziej wszechstronnym typem danych dostępnym w Pythonie, który można zapisać jako listę wartości oddzielonych przecinkami (elementów) w nawiasach kwadratowych. Ważną rzeczą dotyczącą listy jest to, że pozycje na liście nie muszą być tego samego typu.
Tworzenie listy jest tak proste, jak umieszczanie różnych wartości oddzielonych przecinkami w nawiasach kwadratowych. Na przykład -
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"]
Podobnie jak w przypadku indeksów łańcuchowych, indeksy list zaczynają się od 0, a listy można kroić, łączyć i tak dalej.
Dostęp do wartości w listach
Aby uzyskać dostęp do wartości na listach, użyj nawiasów kwadratowych do wycinania wraz z indeksem lub indeksami, aby uzyskać wartość dostępną w tym indeksie. Na przykład -
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
Wykonanie powyższego kodu daje następujący wynik -
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
Aktualizowanie list
Możesz zaktualizować jeden lub wiele elementów list, podając wycinek po lewej stronie operatora przypisania, a możesz dodawać elementy do listy za pomocą metody append (). Na przykład -
#!/usr/bin/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]
Note - metoda append () została omówiona w następnej sekcji.
Wykonanie powyższego kodu daje następujący wynik -
Value available at index 2 :
1997
New value available at index 2 :
2001
Usuń elementy listy
Aby usunąć element listy, możesz użyć instrukcji del, jeśli wiesz dokładnie, które elementy usuwasz, lub metody remove (), jeśli nie wiesz. Na przykład -
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1
Wykonanie powyższego kodu daje następujący wynik -
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]
Note - metoda remove () została omówiona w dalszej części.
Podstawowe operacje na listach
Listy reagują na operatory + i *, podobnie jak łańcuchy; tutaj również mają na myśli konkatenację i powtórzenie, z tym wyjątkiem, że wynikiem jest nowa lista, a nie ciąg.
W rzeczywistości listy odpowiadają wszystkim ogólnym operacjom na sekwencjach, których używaliśmy na łańcuchach w poprzednim rozdziale.
Wyrażenie Pythona | Wyniki | Opis |
---|---|---|
len ([1, 2, 3]) | 3 | Długość |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Powiązanie |
[„Cześć!”] * 4 | [„Cześć!”, „Cześć!”, „Cześć!”, „Cześć!”] | Powtórzenie |
3 w [1, 2, 3] | Prawdziwe | Członkostwo |
for x in [1, 2, 3]: print x, | 1 2 3 | Iteracja |
Indeksowanie, wycinanie i macierze
Ponieważ listy są sekwencjami, indeksowanie i krojenie działają w taki sam sposób w przypadku list, jak w przypadku łańcuchów.
Zakładając następujące dane wejściowe -
L = ['spam', 'Spam', 'SPAM!']
Wyrażenie Pythona | Wyniki | Opis |
---|---|---|
L [2] | SPAM! | Przesunięcia zaczynają się od zera |
L [-2] | spam | Negatywne: policz od prawej |
L [1:] | [„Spam”, „SPAM!”] | Cięcie na plasterki pobiera sekcje |
Wbudowane funkcje i metody list
Python zawiera następujące funkcje listowe -
Sr.No. | Funkcja z opisem |
---|---|
1 | cmp (lista1, lista2) Porównuje elementy obu list. |
2 | len (lista) Podaje całkowitą długość listy. |
3 | max (lista) Zwraca pozycję z listy o maksymalnej wartości. |
4 | min (lista) Zwraca pozycję z listy o wartości minimalnej. |
5 | list (seq) Konwertuje krotkę na listę. |
Python zawiera następujące metody listowe
Sr.No. | Metody z opisem |
---|---|
1 | list.append (obj) Dołącza obiekt obj do listy |
2 | list.count (obj) Zwraca liczbę, ile razy obj występuje na liście |
3 | list.extend (seq) Dołącza zawartość seq do listy |
4 | list.index (obj) Zwraca najniższy indeks na liście, który pojawia się obj |
5 | list.insert (indeks, obj) Wstawia obiekt obj do listy pod indeksem offsetu |
6 | list.pop (obj = list [-1]) Usuwa i zwraca ostatni obiekt lub obiekt z listy |
7 | list.remove (obj) Usuwa obiekt obj z listy |
8 | list.reverse () Odwraca obiekty listy w miejscu |
9 | list.sort ([func]) Sortuje obiekty na liście, jeśli podano, użyj funkcji porównania |