Što je Python popis?
Popis je točno ono što zvuči, spremnik koji sadrži različite Python objekte, koji bi mogli biti cijeli brojevi, riječi, vrijednosti itd. To je ekvivalent niza u drugim programskim jezicima. Predstavljen je uglastim zagradama (i to je jedan od atributa koji ga razlikuje od tupleta koji su odvojeni zagradama). Također je promjenjiv, odnosno može se mijenjati ili ažurirati; za razliku od torti, koje su nepromjenjive.
U ovom tutorialu za python naučit ćete:
- Što je Python popis?
- Primjeri popisa Python:
- Pristup vrijednostima unutar popisa
- Rezanje popisa
- Ažuriranje popisa
- Brisanje elemenata popisa
- Dodavanje elemenata popisa
- Popis ugrađenih funkcija (metoda)
- Prelistavanje popisa
- Popis razumijevanja
Primjeri popisa Python:
Popisi Pythona mogu biti homogeni, što znači da mogu sadržavati istu vrstu objekata; ili heterogeni, uključujući različite vrste predmeta.
Primjeri homogenih popisa uključuju:
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]
Primjeri heterogenih popisa uključuju:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Pristup vrijednostima unutar popisa
Za pristup vrijednostima unutar popisa može se koristiti indeks objekata unutar popisa. Indeks na popisima Pythona odnosi se na položaj elementa unutar poredanog popisa. Na primjer:
list = [3, 22, 30, 5.3, 20]
- Prva vrijednost s gornjeg popisa, 3, ima indeks 0
- Druga vrijednost, 22, ima indeks 1
- Treća vrijednost, 30, ima indeks 2
i tako dalje. Za pristup svakoj od vrijednosti s popisa koristili biste:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Posljednjem članu popisa također se može pristupiti pomoću indeksa -1. Na primjer,
list[-1] = 20
Rezanje popisa
Rezanje popisa metoda je razdvajanja podskupa popisa, a za to se koriste i indeksi objekata popisa. Na primjer, koristeći isti gornji primjer iz popisa;
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).
Popisi Pythona isključivo su gornje granice, a to znači da se posljednji indeks tijekom rezanja popisa obično zanemaruje. Iz tog razloga
list[2:-1] = [30, 5.3], a ne [30, 5.3, 20]. Isto vrijedi i za sve ostale gore navedene primjere rezanja popisa.
Ažuriranje popisa
Recimo da imate popis = [fizika, kemija, matematika], a popis želite promijeniti u [biologija, kemija, matematika], efektivno mijenjajući člana u indeksu 0. To se lako može učiniti dodijeljivanjem tog indeksa novog člana kojeg želite.
To je,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Rezultat: [biologija, kemija, matematika]
Ovo zamjenjuje člana s indeksom 0 (fizika) novom vrijednošću koju želite (kemija). To se može učiniti za bilo kojeg člana ili podskup popisa koji želite promijeniti.
Dati drugi primjer; recimo da imate popis koji se naziva cijeli brojevi i sadrži brojeve [2, 5, 9, 20, 27]. Da biste na tom popisu 5 zamijenili s 10, to možete učiniti sa:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Da biste posljednjeg člana popisa cijelih brojeva, a to je 27, zamijenili besplatnim brojem poput 30,5, upotrijebili biste:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Brisanje elemenata popisa
Postoje 3 Python metode za brisanje elemenata popisa: list.remove (), list.pop () i del operator. Metoda Remove uzima određeni element koji se uklanja kao argument, dok pop i del uzimaju indeks elementa koji se uklanja kao argument. Na primjer:
popis = [3, 5, 7, 8, 9, 20]
Da biste izbrisali 3 (1. element) s popisa, možete upotrijebiti:
- popis.ukloniti (3) ili
- list.pop [0] ili
- del lista [0]
Da biste izbrisali 8, stavku s indeksa 3, s popisa, možete upotrijebiti:
- list.remove (8) ili
- list.pop [3]
Dodavanje elemenata popisa
Za dodavanje elemenata na popis koristi se metoda dodavanja koja dodaje element na kraj popisa.
Na primjer:
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"]
Popis ugrađenih funkcija (metoda)
Slijedi popis ugrađenih funkcija i metoda s njihovim opisima:
- len (popis): ovo daje duljinu popisa kao izlaz. Na primjer:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (popis): vraća stavku s popisa s maksimalnom vrijednošću. Na primjer:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (popis): vraća stavku s popisa s minimalnom vrijednošću. Na primjer:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- popis (korica): pretvara skup korpusa u popis. Na primjer;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): dodaje element na popis. Na primjer;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (indeks): uklanja element s navedenog indeksa s popisa. Na primjer;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): briše element sa popisa.Na primjer;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): poništava objekte s popisa. Na primjer;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): za dobivanje vrijednosti indeksa elementa s popisa. Na primjer;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- zbroj (popis): za dobivanje zbroja svih vrijednosti na popisu, ako su vrijednosti svi brojevi (cijeli brojevi ili decimale). Na primjer;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Ako popis sadrži bilo koji element koji nije broj, poput niza, metoda zbroja neće raditi. Dobit ćete pogrešku koja kaže: " TypeError : nepodržane vrste operanda za +: 'int' i 'str'"
- list.sort (): za organiziranje popisa cjelobrojnih brojeva, brojeva s pomičnim zarezom ili nizova u rastućem ili silaznom redoslijedu. Na primjer:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Još jedan primjer:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Popis nizova također se može razvrstati po abecedi ili po duljini nizova. Na primjer;
# 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 popis možemo sortirati po abecedi pomoću 'stringova.
Prelistavanje popisa
Prelistavanje popisa može se izvesti na isti način kao i bilo koja druga petlja u Pythonu. Na taj se način metoda može istodobno izvoditi na više elemenata popisa. Na primjer:
popis = [10, 20, 30, 40, 50, 60, 70].
Da biste petljali kroz sve elemente ovog popisa i recimo, dodajte 10 svakom elementu:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Prelistavanje prva tri elementa popisa i brisanje svih;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Da biste prošli kroz 3. (indeks 2) do zadnjeg elementa na popisu i dodali ih na novi popis pod nazivom 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 taj se način bilo koja metoda ili funkcija može primijeniti na članove popisa kako bi izvršili određenu operaciju. Možete provući petlju kroz sve članove popisa ili petlju kroz podskup popisa pomoću rezanja popisa.
Popis razumijevanja
Poimanja popisa su Python funkcije koje se koriste za stvaranje novih sekvenci (poput popisa, rječnika itd.) Pomoću već stvorenih sekvenci. Pomažu u smanjenju dužih petlji i olakšavaju čitanje i održavanje vašeg koda.
Na primjer; recimo da ste željeli stvoriti popis koji sadrži kvadrate svih brojeva 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]
Da biste učinili istu stvar s razumijevanjem popisa:
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]
Kao što smo vidjeli gore, pisanje koda pomoću poimanja popisa mnogo je kraće od uobičajenog za petlje, a također je i brže. Ovo je samo jedan primjer upotrebe razumijevanja popisa umjesto for petlje, ali ovo se može replicirati i koristiti na puno mjesta gdje se for petlje također mogu koristiti. Ponekad je bolje ići s petljom for, pogotovo ako je kod složen, ali u mnogim će slučajevima razumijevanje popisa učiniti vaše kodiranje lakšim i bržim.
Ispod je tablica koja sadrži neke funkcije i metode popisa i njihove opise.
Ugrađene funkcije
FUNKCIJA | OPIS |
Krug() | Zaokružuje broj prosljeđen kao argument na navedeni broj znamenki i vraća vrijednost s pomičnim zarezom |
Min. () | vrati minimalni element zadanog popisa |
Maks. () | vrati maksimalan element zadanog popisa |
len () | Vraća duljinu popisa |
Nabrojati() | Ova ugrađena funkcija generira vrijednosti i indekse stavki u iteralu, tako da ne trebamo brojati ručno |
Filtar() | testira je li svaki element popisa istinit ili ne |
Lambda | Izraz koji se može pojaviti na mjestima gdje def (za stvaranje funkcija) nije sintaktički, unutar doslovnog popisa ili argumenata poziva funkcije |
Karta() | vraća popis rezultata nakon primjene zadane funkcije na svaku stavku određenog iterabilnog elementa |
Akumulirati() | primijeni određenu funkciju prosljeđenu u njenom argumentu na sve elemente popisa, vraća popis koji sadrži srednje rezultate |
Iznos() | Vraća zbroj svih brojeva s popisa |
Cmp () | To se koristi za usporedbu dva popisa i vraća 1 ako je prvi popis veći od drugog popisa. |
Umetnuti | Umetnite element u popis na određenom mjestu |
Metode popisa
FUNKCIJA | OPIS |
Dodati() | Dodaje novu stavku na kraj popisa |
Čisto() | Uklanja sve stavke s popisa |
Kopirati() | Vraća kopiju izvornog popisa |
Proširi () | Dodajte mnogo predmeta na kraj popisa |
Računati() | Vraća broj pojavljivanja određene stavke na popisu |
Indeks() | Vraća indeks određenog elementa popisa |
Pop () | Brisanje stavke s popisa u određenom indeksu (brisanje po položaju) |
Ukloniti() | Briše navedenu stavku s popisa (izbriši prema vrijednosti) |
Obrnuti () | Metoda preokreta na mjestu koja preokreće redoslijed elemenata popisa |
Sažetak
- Popis je točno ono kako zvuči, spremnik koji sadrži različite Python objekte, a to mogu biti cijele brojeve, riječi, vrijednosti itd.
- Popisi Pythona mogu biti homogeni, što znači da mogu sadržavati istu vrstu objekata; ili heterogeni, koji sadrže različite vrste predmeta.
- Za pristup vrijednostima unutar popisa može se koristiti indeks objekata unutar popisa.
- Rezanje popisa metoda je razdvajanja podskupa popisa, a za to se koriste i indeksi objekata popisa.
- Tri metode za brisanje elemenata popisa su: 1) list.remove (), 2) list.pop () i 3) del operator
- Metoda dodavanja koristi se za dodavanje elemenata. To dodaje element na kraj popisa.
- Metoda petljanja programa Python može se istodobno izvoditi na više elemenata popisa podataka.
- Poimanja popisa su Python funkcije koje se koriste za stvaranje novih sekvenci (poput popisa, rječnika itd.) Pomoću već stvorenih sekvenci.