Kaj je seznam Python?
Seznam je natanko tako, kot se sliši, vsebnik, ki vsebuje različne predmete Python, ki so lahko cela števila, besede, vrednosti itd. Je enakovreden polju v drugih programskih jezikih. Predstavljajo ga oglati oklepaji (in to je eden izmed atributov, ki ga razlikuje od nabora, ki so ločeni z oklepaji). Prav tako je spremenljiv, to pomeni, da ga je mogoče spremeniti ali posodobiti; za razliko od tuplev, ki so nespremenljivi.
V tej vadnici za python boste izvedeli:
- Kaj je seznam Python?
- Primeri seznamov Python:
- Dostop do vrednosti znotraj seznamov
- Rezanje seznama
- Posodabljanje seznamov
- Brisanje elementov seznama
- Dodajanje elementov seznama
- Seznam vgrajenih funkcij (metod)
- Prelistavanje seznamov
- Razumevanje seznama
Primeri seznamov Python:
Pythonovi seznami so lahko homogeni, kar pomeni, da lahko vsebujejo isto vrsto predmetov; ali heterogene, vključno z različnimi vrstami predmetov.
Primeri homogenih seznamov vključujejo:
list of integers = [1, 2, 3, 8, 33]list of animals = ['dog', 'cat', 'goat']list of names = ['John', 'Travis', 'Sheila']list of floating numbers = [2.2, 4.5, 9.8, 10.4]
Primeri heterogenih seznamov vključujejo:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Dostop do vrednosti znotraj seznamov
Za dostop do vrednosti znotraj seznamov je mogoče uporabiti indeks predmetov znotraj seznamov. Indeks na seznamih Python se nanaša na položaj elementa na urejenem seznamu. Na primer:
list = [3, 22, 30, 5.3, 20]
- Prva vrednost na zgornjem seznamu, 3, ima indeks 0
- Druga vrednost, 22, ima indeks 1
- Tretja vrednost, 30, ima indeks 2
in tako naprej. Za dostop do vsake vrednosti s seznama uporabite:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Do zadnjega člana seznama je mogoče dostopati tudi s pomočjo indeksa -1. Na primer
list[-1] = 20
Rezanje seznama
Rezanje seznama je metoda razdelitve podskupine seznama in za to se uporabljajo tudi indeksi predmetov seznama. Na primer, z istim zgornjim primerom iz seznama;
list[:] = [3, 22, 30, 5.3, 20] (all the members of the list];list[1:3] = [22, 30] (members of the list from index 1 to index 3, without the member at index 3);list[:4] = [3, 22, 30, 5.3] (members of the list from index 0 to index 4, without the member at index 4)list[2:-1] = [30, 5.3] (members of the list from index 2, which is the third element, to the second to the last element in the list, which is 5.3).
Pythonovi seznami so izključno zgoraj in to pomeni, da je zadnji indeks med rezanjem seznama običajno prezrt. Zato
list[2:-1] = [30, 5.3], in ne [30, 5.3, 20]. Enako velja za vse zgoraj navedene primere rezanja seznamov.
Posodabljanje seznamov
Recimo, da imate seznam = [fizika, kemija, matematika] in želite spremeniti seznam v [biologija, kemija, matematika], tako da dejansko spremenite člana v indeksu 0. To lahko enostavno storite tako, da indeks dodelite novega člana, ki ga želite.
To je,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Rezultat: [biologija, kemija, matematika]
To nadomesti člana z indeksom 0 (fizika) z novo vrednostjo, ki jo želite (kemija). To lahko storite za katerega koli člana ali podskupino seznama, ki ga želite spremeniti.
Da navedem še en primer; recimo, da imate seznam, imenovan cela števila, ki vsebuje številke [2, 5, 9, 20, 27]. Če želite na tem seznamu 5 zamenjati z 10, lahko to storite z:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Če želite nadomestiti zadnjega člana s seznama celih števil, ki je 27, z brezplačno številko, na primer 30,5, uporabite:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Brisanje elementov seznama
Obstajajo 3 metode Python za brisanje elementov seznama: list.remove (), list.pop () in del operator. Metoda Odstrani določen element kot argument, medtem ko pop in del kot argument vzameta indeks elementa. Na primer:
seznam = [3, 5, 7, 8, 9, 20]
Če želite izbrisati 3 (prvi element) s seznama, lahko uporabite:
- list.remove (3) oz
- list.pop [0] ali
- del list [0]
Če želite s seznama izbrisati element 8 v indeksu 3, lahko uporabite:
- list.remove (8), ali
- list.pop [3]
Dodajanje elementov seznama
Za dodajanje elementov na seznam se uporablja metoda append, ki doda element na konec seznama.
Na primer:
list_1 = [3, 5, 7, 8, 9, 20]list_1.append(3.33)print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33]list_1.append("cats")print(list_1)>>> list_1 = [3, 5, 7, 8, 9, 20, 3.33, "cats"]
Seznam vgrajenih funkcij (metod)
Sledi seznam vgrajenih funkcij in metod seznama z njihovimi opisi:
- len (seznam): poda dolžino seznama kot izhod. Na primer:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (seznam): vrne element na seznamu z največjo vrednostjo. Na primer:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (seznam): vrne element na seznamu z najmanjšo vrednostjo. Na primer:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (tuple): pretvori tuple objekt v seznam. Na primer;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): doda element na seznam. Na primer;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (indeks): s seznama odstrani element v določenem indeksu. Na primer;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): izbriše element s seznama. Na primer;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): obrne predmete s seznama. Na primer;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): za pridobitev vrednosti indeksa elementa na seznamu. Na primer;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- vsota (seznam): da dobimo vsoto vseh vrednosti na seznamu, če so vrednosti vse številke (cela ali decimalna števila). Na primer;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Če seznam vsebuje kateri koli element, ki ni število, na primer niz, metoda vsote ne bo delovala. Prišlo bi do napake z besedami: " TypeError : nepodprte vrste operanda za +: 'int' in 'str'"
- list.sort (): za urejanje seznama celih števil, števil s plavajočo vejico ali nizov v naraščajočem ali padajočem vrstnem redu. Na primer:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Drug primer:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Seznam nizov je mogoče razvrstiti tudi po abecedi ali po dolžini. Na primer;
# to sort the list by length of the elementsstrings = ['cat', 'mammal', 'goat', 'is']sort_by_alphabet = strings.sort()sort_by_length = strings.sort(key = len)print(sort_by_alphabet)print(sort_by_length)>>> ['cat', 'goat', 'is', 'mammal']['is', 'cat', 'goat', 'mammal']
Isti seznam lahko razvrstimo po abecedi z uporabo 'nizov'.
Prelistavanje seznamov
Prelistavanje seznamov je mogoče na enak način kot katera koli druga zanka v Pythonu. Na ta način je mogoče metodo izvajati hkrati na več elementih seznama. Na primer:
seznam = [10, 20, 30, 40, 50, 60, 70].
Če želite zapreti vse elemente tega seznama in recimo, dodajte vsakemu elementu 10:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Za prehod skozi prve tri elemente seznama in brisanje vseh;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Zanke skozi 3 rd (indeks 2) na zadnji element na seznamu, in dodajanje njih v nov seznam imenovano new_list:
new_list = []for elem in list[2:]:new_list.append(elem)print(“New List: {}”.format(new_list))Output:New List: [30, 40, 50, 60, 70]
Na ta način lahko katero koli ali metodo ali funkcijo uporabite za člane seznama za izvedbo določene operacije. Lahko se prestavite skozi vse člane seznama ali pa se z rezanjem seznama zavrtite skozi njegovo podskupino.
Razumevanje seznama
Razumevanja seznamov so funkcije Pythona, ki se uporabljajo za ustvarjanje novih zaporedij (kot so seznami, slovarji itd.) Z uporabo že ustvarjenih zaporedij. Pomagajo zmanjšati daljše zanke in olajšajo branje in vzdrževanje kode.
Na primer; recimo, da ste želeli ustvariti seznam, ki vsebuje kvadratke vseh števil od 1 do 9:
list_of squares = []for int in range(1, 10):square = int ** 2list_of_squares.append(square)print(list_of_squares)List_of_squares using for loop:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Če želite storiti isto pri razumevanju seznamov:
list_of_squares_2 = [int**2 for int in range(1, 10)]print('List of squares using list comprehension: {}'.format(list_of_squares_2))Output using list comprehension:[1, 4, 9, 16, 25, 36, 49, 64, 81]
Kot je razvidno zgoraj, je pisanje kode z razumevanjem seznamov veliko krajše kot pri uporabi tradicionalnih zank in je tudi hitrejše. To je le en primer uporabe razumevanja seznamov namesto za zanke, vendar ga je mogoče ponoviti in uporabiti na številnih mestih, kjer je mogoče uporabiti tudi zanke. Včasih je uporaba zanke for boljša možnost, še posebej, če je koda zapletena, toda v mnogih primerih bo razumevanje seznamov olajšalo in hitreje vaše kodiranje.
Spodaj je tabela, ki vsebuje nekatere funkcije in metode seznama ter njihove opise.
Vgrajene funkcije
FUNKCIJA | OPIS |
Okrogla () | Zaokroži številko, ki je bila posredovana kot argument, na določeno število števk in vrne vrednost s plavajočo vejico |
Najmanjša () | vrne najmanjši element danega seznama |
Največ () | vrne največji element danega seznama |
len () | Vrne dolžino seznama |
Naštej () | Ta vgrajena funkcija generira vrednosti in indekse elementov v iterabilu, zato nam ni treba ročno šteti |
Filter () | preskusi, ali je vsak element seznama resničen ali ne |
Lambda | Izraz, ki se lahko prikaže tam, kjer def (za ustvarjanje funkcij) ni skladenjsko, znotraj dobesedne črke seznama ali argumentov klica funkcije |
Zemljevid() | vrne seznam rezultatov po uporabi dane funkcije za vsak element danega iterabila |
Kopiči () | uporabi določeno funkcijo, posredovano v njenem argumentu, za vse elemente seznama, vrne seznam, ki vsebuje vmesne rezultate |
Vsota () | Vrne vsoto vseh števil na seznamu |
Cmp () | To se uporablja za primerjavo dveh seznamov in vrne 1, če je prvi seznam večji od drugega. |
Vstavi | Vstavite element na seznam na določenem mestu |
Seznam metod
FUNKCIJA | OPIS |
Dodaj () | Na konec seznama doda nov element |
Počisti () | Odstrani vse elemente s seznama |
Kopirati() | Vrne kopijo izvirnega seznama |
Razširi () | Na konec seznama dodajte veliko elementov |
Štetje () | Vrne število pojavitev določenega predmeta na seznamu |
Kazalo () | Vrne indeks določenega elementa seznama |
Pop () | Izbriše element s seznama v določenem indeksu (izbriši po položaju) |
Odstrani() | Izbriše določen element s seznama (izbriši po vrednosti) |
Povratno () | Metoda obrnitve na mestu, ki spremeni vrstni red elementov seznama |
Povzetek
- Seznam je natanko tako, kot se sliši, vsebnik, ki vsebuje različne predmete Python, ki so lahko cela števila, besede, vrednosti itd.
- Pythonovi seznami so lahko homogeni, kar pomeni, da lahko vsebujejo isto vrsto predmetov; ali heterogena, ki vsebuje različne vrste predmetov.
- Za dostop do vrednosti znotraj seznamov je mogoče uporabiti indeks predmetov znotraj seznamov.
- Rezanje seznama je metoda razdelitve podskupine seznama in za to se uporabljajo tudi indeksi predmetov seznama.
- Trije načini za brisanje elementov seznama so: 1) list.remove (), 2) list.pop () in 3) del operator
- Metoda dodajanja se uporablja za dodajanje elementov. To doda element na konec seznama.
- Metoda zanke programa Python se lahko izvede na več elementih seznama podatkov hkrati.
- Razumevanja seznamov so funkcije Pythona, ki se uporabljajo za ustvarjanje novih zaporedij (kot so seznami, slovarji itd.) Z uporabo že ustvarjenih zaporedij.