Popis Pythona: razumijevanje, dodavanje, sortiranje, duljina, obrnuti PRIMJERI

Sadržaj:

Anonim

Š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.