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