Jak działają tablice i listy w Pythonie

Jak działają tablice i listy w Pythonie

Tablice i listy to jedne z najbardziej przydatnych struktur danych w programowaniu — chociaż niewiele osób naprawdę wykorzystuje je w pełni. Dzisiaj omówię podstawy, wraz z kilkoma prostymi przykładami Pythona.





Warunki wstępne

Niewiele musisz wiedzieć z wyprzedzeniem, aby nauczyć się tych pojęć. Pomocna będzie podstawowa znajomość paradygmatów programowania i Pythona, ale nie jest wymagana. Przeczytaj nasze podstawowe przykłady Pythona jeśli nie wiesz od czego zacząć. Jeśli uważasz, że Python jest bezużytecznym językiem, zapoznaj się z naszymi powodami, dla których tak nie jest.





Chociaż poniższe podstawowe idee można zastosować do dowolnego języka, zademonstruję przykłady w Pythonie. Jest to język łatwy do nauczenia i stanowi doskonałą platformę do zrozumienia, co się dzieje. Na dodatek do tego, tutorialspoint.com zapewnia doskonały internetowy interpreter Pythona — nie musisz nawet instalować Pythona, jeśli nie chcesz (jeśli to zrobisz, zapoznaj się z naszym przewodnikiem po środowiskach wirtualnych ).





Struktury danych

Co to jest struktura danych ? Na najbardziej podstawowym poziomie struktura danych to sposób na wydajne przechowywanie danych. Łatwo się pomylić, ponieważ struktury danych nie są typy danych . Typy danych informują kompilator (lub w przypadku Pythona interpreter), w jaki sposób dane mają być użyte. Struktury danych określają operacje, które można wykonać, a często implementują określone zasady i przepisy.

Być może słyszałeś o niektórych liniowy typy danych (elementy są sekwencyjne):



  • Szyk
  • Matryca
  • Tabela przeglądowa

Podobnie, listy często zawierają zasady i metody regulujące ich działanie. Niektóre popularne listy to:

  • Połączona lista
  • Lista podwójnie połączona
  • Lista tablic lub tablica dynamiczna

Istnieje mnóstwo różnych struktur danych. Być może słyszałeś o drzewa binarne , wykresy , lub haszy . Omówię dzisiaj podstawy, ale możesz chcieć dowiedzieć się więcej, gdy poczujesz się komfortowo.





Szyk

Zacznijmy od początku. Tablica to prosty zbiór (powiązanych) wartości. Te wartości nazywane są elementami. Zwykle mogą to być dowolne typy danych, w tym obiekty lub inne listy! Głównym zastrzeżeniem dotyczącym tablic jest to, że wszystkie dane muszą być takie same — nie można przechowywać mieszanych łańcuchów i liczb całkowitych. Ty prawie zawsze musisz określić, ile elementów chcesz przechowywać. Zmienny rozmiar lub tablice dynamiczne istnieją, ale tablice o stałej długości są prostsze na początek.

Python nieco komplikuje sprawy. To bardzo ułatwia życie, ale nie zawsze trzyma się ścisłych definicji struktur danych. Większość obiektów w Pythonie to zazwyczaj listy, więc tworzenie tablicy to w rzeczywistości więcej pracy. Oto kod startowy:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Pierwsza linia importuje szyk moduł -- wymagany do pracy z tablicami. Druga linia tworzy nową tablicę o nazwie liczby i inicjalizuje go wartościami 2, 4, 6 i 8. Każdy element ma przypisany an liczba całkowita wartość zwana a klucz lub indeks . Klucze zaczynają się o zero , więc numery[0] uzyska dostęp do pierwszego elementu ( 2 ):

Możesz się zastanawiać, co 'i' jest używany do. To jest kod typu który mówi Pythonowi, że tablica będzie przechowywać liczby całkowite. Tego rodzaju rzeczy normalnie nie byłyby potrzebne w Pythonie (zostałyby uznane za „niepythoniczne”). Powód tego jest prosty. Tablice w Pythonie są bardzo cienkim opakowaniem bazowych tablic C twojego systemu operacyjnego. Oznacza to, że są szybkie i stabilne, ale nie zawsze są zgodne ze składnią Pythona.

jak sprawdzić martwe piksele

W tych tablicach nie można przechowywać typów mieszanych. Załóżmy, że chcesz zapisać ciąg „makeuseof.com”:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Nie będzie to dozwolone i zgłosi wyjątek:

Oto jak możesz wydrukować wszystkie elementy:

print(numbers)

Ta metoda dostępu do elementów tablicy działa dobrze i jest idealna do właściwego zadania. To, do czego nie jest dobre, to dostęp do całej tablicy. Programiści są z natury leniwi, więc z chęcią napiszę więcej, lepszy kod, jeśli to oznacza, że ​​mogę ułatwić utrzymanie i zmniejszyć wysiłek kopiowania i wklejania.

Każdy język programowania zaimplementuje pewnego rodzaju pętlę, która doskonale nadaje się do iteracji (zapętlania) elementów listy. Najczęstsze pętle to podczas oraz dla . Python sprawia, że ​​rzeczy są jeszcze łatwiejsze, dostarczając dla w pętla:

for number in numbers:
print(number)

Zwróć uwagę, że nie musiałeś uzyskiwać dostępu do elementów po ich kluczu. Jest to znacznie lepszy sposób pracy z tablicą. Alternatywnym sposobem iteracji po liście jest użycie dla pętla:

for i in range(len(numbers)):
print(numbers[i])

Robi to dokładnie to samo, co w poprzednim przykładzie, chociaż musiałeś określić liczbę elementów w tablicy ( len (samochody) ) wraz z przejściem i jako klucz do tablicy. To jest prawie dokładnie ten kod, który dla w pętle działają. W ten sposób zapewnia nieco większą elastyczność i jest nieco szybszy (chociaż dla w pętle są więcej niż wystarczająco szybkie, aby większość czasu.)

Listy

Teraz, gdy już wiesz, jak działają tablice, spójrzmy na listę. Czasami może to być mylące, ponieważ ludzie używają zamiennie różnych terminów i list tablice... rodzaj.

Lista to specjalny typ tablicy. Największą różnicą jest to, że listy mogą zawierać mieszany typy (pamiętaj, że tablice muszą zawierać elementy tego samego typu). Listy są bardzo proste w Pythonie:

jak wyszukiwać incognito na iPhonie
cars = ['Ford', 'Austin', 'Lancia']

Zwróć uwagę, że nie musisz importować szyk moduł?

Ta składnia deklaruje listę o nazwie samochody. Wewnątrz nawiasów kwadratowych zadeklarowany jest każdy element listy. Każdy element jest oddzielony przecinkiem, a ponieważ każdy element jest łańcuchem, deklarujesz je w cudzysłowie. Python wie, że to jest obiekt, więc wydrukować oświadczenie wygeneruje zawartość listy:

print(cars)

Podobnie jak w przypadku tablicy, możesz iterować elementy listy za pomocą pętli:

for car in cars:
print(car)

Prawdziwą sztuczką imprezową z listami jest ich mieszany typ. Śmiało i dodaj dodatkowe dane:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Nie stanowi to problemu dla Pythona — nawet nie zgłosił wyjątku:

Łatwo dodać nowe elementy do listy (coś, czego nie da się w przypadku tablic):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Możesz także połączyć dwie listy w jedną:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Równie łatwe jest usuwanie elementów za pomocą usunąć składnia:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

To dotyczy podstaw list i tablic w Pythonie. Dlaczego nie rozważyć projektu kodowania, takiego jak czytanie i zapisywanie w Arkuszach Google , odczytywanie danych json . Może mógłbyś wykorzystać swoje nowe umiejętności do robienia niektórych niestandardowe przyciski skrótów . Pomimo tego, że jest to inny język programowania, te zasady dotyczące tablic nadal obowiązują.

Udział Udział Ćwierkać E-mail 5 wskazówek, jak doładować swoje maszyny VirtualBox Linux

Masz dość słabej wydajności oferowanej przez maszyny wirtualne? Oto, co powinieneś zrobić, aby zwiększyć wydajność VirtualBox.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Programowanie
  • Pyton
O autorze Joe Coburn(136 opublikowanych artykułów)

Joe jest absolwentem informatyki na Uniwersytecie w Lincoln w Wielkiej Brytanii. Jest profesjonalnym programistą, a kiedy nie lata dronami ani nie pisze muzyki, często można go spotkać wykonującego zdjęcia lub produkującego filmy.

Więcej od Joe Coburna

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować