Python Razumijevanje popisa, dodavanje, sortiranje, duljina [PRIMJERI]

Što je a Python Popis?

Popis je točno ono što zvuči, spremnik koji sadrži različite Python objekti, koji mogu biti cijeli brojevi, riječi, vrijednosti itd. To je ekvivalent nizu u drugim programskim jezicima. Predstavljen je uglatim zagradama (i to je jedan od atributa koji ga razlikuje od torki koje su odvojene zagradama). Također je promjenjiv, to jest, može se mijenjati ili ažurirati; za razliku od torki, koje su nepromjenjive.

Primjeri Python popisi:

Python popisi mogu biti homogeni, što znači da mogu sadržavati istu vrstu objekata; ili heterogeni, uključujući različite vrste objekata.

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 lista

Za pristup vrijednostima unutar popisa može se koristiti indeks objekata unutar popisa. Indeks u Python liste odnosi se na položaj elementa unutar uređene liste. Na primjer:

list = [3, 22, 30, 5.3, 20]
  • Prva vrijednost na gornjem popisu, 3, ima indeks 0
  • Druga vrijednost, 22, ima indeks 1
  • Treća vrijednost, 30, ima indeks 2

i tako dalje. Da biste pristupili svakoj vrijednosti s popisa, upotrijebili biste:

list[0] to access 3
list[1] to access 22
list[2] to access 30
list[3] to access 5.3
list[4] to access 20

Posljednjem članu liste također se može pristupiti pomoću indeksa -1. Na primjer,

list[-1] = 20

Python Rezanje popisa

Rezanje popisa metoda je dijeljenja podskupa popisa, a za to se također koriste indeksi objekata popisa. Na primjer, koristeći isti gornji primjer 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).

Python popisi su isključivi prema gornjoj granici, a to znači da se posljednji indeks tijekom rezanja popisa obično zanemaruje. Zato

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 = [physics, chemistry, mathematics] i želite promijeniti popis u [biology, chemistry, mathematics], efektivno mijenjajući člana na indeksu 0. To se lako može učiniti dodjeljivanjem tog indeksa novog člana kojeg želite.

To je,

list = [physics, chemistry, mathematics]
    list[0] = biology
    print(list)

Ishod: [biologija, kemija, matematika]

Ovo zamjenjuje član s indeksom 0 (fizika) novom vrijednošću koju želite (kemija). To se može učiniti za bilo koji član ili podskup popisa koji želite promijeniti.

Da dam još jedan primjer; recimo da imate popis koji se zove cijeli brojevi i sadrži brojeve [2, 5, 9, 20, 27]. Da biste zamijenili 5 na popisu s 10, to možete učiniti pomoću:

integers = [2, 5, 9, 20, 27]
           integers[1] = 10
           print(integers)

>>> [2, 10, 9, 20, 27]

Za zamjenu zadnjeg člana popisa cijelih brojeva, koji je 27, slobodnim brojem poput 30.5, upotrijebili biste:

integers = [2, 5, 9, 20, 27]
           integers[-1] = 30.5
           print(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 uklanjanja 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]

Za brisanje 3 (prvi element) s popisa, možete koristiti:

  • popis.ukloni(3) ili
  • list.pop[0], ili
  • del liste[0]

Za brisanje 8, stavke pod indeksom 3, s popisa, možete koristiti:

  • list.remove(8), ili
  • lista.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 popisa 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 na popisu s maksimalnom vrijednošću. Na primjer:
numbers = [2, 5, 7, 9]
print(max(numbers))
>>> 9
  • min(popis): vraća stavku na popisu s minimalnom vrijednošću. Na primjer:
numbers = [2, 5, 7, 9]
print(min(numbers))
>>> 2
  • lista (torka): pretvara objekt tuple u popis. Na primjer;
animals = (cat, dog, fish, cow)
print(list(animals))
>>> [cat, dog, fish, cow]
numbers = [2, 5, 7, 9]
numbers.append(15)
print(numbers)
>>> [2, 5, 7, 9, 15]
  • lista.pop(indeks): uklanja element na navedenom indeksu s popisa. Na primjer;
numbers = [2, 5, 7, 9, 15]
numbers.pop(2)
print(numbers)
>>> [2, 5, 9, 15]
values = [2, 5, 7, 9]
values.remove(2)
print(values)
>>> [5, 7, 9]
  • lista.revers(): preokreće objekte liste. Na primjer;
values = [2, 5, 7, 10]
values.reverse()
print(values)
>>> [10, 7, 5, 2]
  • lista.indeks(element): za dobivanje vrijednosti indeksa elementa unutar popisa. Na primjer;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']
fish_index = animals.index('fish')
print(fish_index)
>>> 2
  • iznos(popis): za dobivanje zbroja svih vrijednosti na popisu, ako su sve vrijednosti 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, kao što je niz, metoda zbroja ne bi radila. Dobit ćete pogrešku koja kaže: "TypeError: nepodržani tip(ovi) operanda za +: 'int' i 'str'”

  • list.sort(): za sređivanje popisa cijelih 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 se također može sortirati, bilo po abecednom redu, bilo po duljini nizova. Na primjer;

# to sort the list by length of the elements
strings = ['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']

Možemo sortirati isti popis abecednim redom pomoću 'stringova.

Pregledavanje popisa

Prolazak kroz popise može se izvesti na isti način kao i bilo koja druga funkcija ponavljanja Python. Na ovaj način se metoda može izvoditi na više elemenata popisa u isto vrijeme. Na primjer:

popis = [10, 20, 30, 40, 50, 60, 70].

Da prođete kroz sve elemente ovog popisa i, recimo, dodate 10 svakom elementu:

for elem in list:
        elem = elem + 5
        print(elem)
    
    >>>>15
        25
        35
        45
        55
        65
        75

Za prolazak kroz prva tri elementa popisa i brisanje svih njih;

for elem in list[:3]:
    list.remove(elem)

    >>>list = [40, 50, 60, 70]

Za prolazak kroz 3rd (indeks 2) do zadnjeg elementa na popisu i dodajte ih novom popisu 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 ovaj način se bilo koja metoda ili funkcija može primijeniti na članove popisa za izvođenje određene operacije. Možete proći kroz sve članove popisa ili proći kroz podskup popisa korištenjem rezanja popisa.

Popis razumijevanja Python

Popis shvaćanja su Python funkcije koje se koriste za stvaranje novih sekvenci (kao što su popisi, rječnici itd.) koristeći sekvence koje su već stvorene. Oni pomažu u smanjenju dužih petlji i čine vaš kod lakšim za čitanje i održavanje.

Na primjer; recimo da želite napraviti popis koji sadrži kvadrate svih brojeva od 1 do 9:

list_of squares = []
    for int in range(1, 10):
        square = int ** 2
        list_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 se vidi gore, pisanje koda korištenjem razumijevanja popisa puno je kraće od korištenja tradicionalnih for petlji, a također je i brže. Ovo je samo jedan primjer korištenja razumijevanja popisa umjesto for petlji, ali to se može replicirati i koristiti na mnogo mjesta gdje se također mogu koristiti for petlje. Ponekad je korištenje for petlje bolja opcija, posebno ako je kod složen, ali u mnogim će slučajevima razumijevanje popisa olakšati i ubrzati vaše kodiranje.

Dolje je tablica koja sadrži popis funkcija i metoda te njihove opise.

Ugrađene funkcije

FUNKCIJA OPIS
Krug() Zaokružuje broj proslijeđen kao argument na određeni broj znamenki i vraća vrijednost s pomičnim zarezom
min() vratiti minimalni element zadane liste
Max() vrati najveći element zadane liste
len () Vraća duljinu popisa
Nabrojati() Ova ugrađena funkcija generira i vrijednosti i indekse stavki u iterablu, tako da ne moramo ručno brojati
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čan, unutar doslovnog popisa ili argumenata poziva funkcije
Karta() vraća popis rezultata nakon primjene zadane funkcije na svaku stavku danog iterabla
Akumulirati() primijeniti određenu funkciju proslijeđenu u svom argumentu na sve elemente popisa vraća popis koji sadrži međurezultate
Iznos() Vraća zbroj svih brojeva na popisu
Cmp() Ovo se koristi za usporedbu dva popisa i vraća 1 ako je prvi popis veći od drugog popisa.
umetak 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 mnoge stavke na kraj popisa
Računati() Vraća broj pojavljivanja određene stavke na popisu
Indeks() Vraća indeks određenog elementa popisa
pop() Briše stavku s popisa u određenom indeksu (brisanje po poziciji)
Ukloniti() Briše navedenu stavku s popisa (brisanje po vrijednosti)
Reverse() Metoda preokreta na mjestu koja obrće redoslijed elemenata popisa

rezime

  • Popis je točno ono što zvuči, spremnik koji sadrži različite Python objekti, koji mogu biti cijeli brojevi, riječi, vrijednosti itd.
  • Python popisi mogu biti homogeni, što znači da mogu sadržavati istu vrstu objekata; ili heterogeni, koji sadrže različite vrste objekata.
  • Za pristup vrijednostima unutar popisa može se koristiti indeks objekata unutar popisa.
  • Rezanje popisa metoda je dijeljenja podskupa popisa, a za to se također koriste 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. Ovo dodaje element na kraj popisa.
  • Metoda petlje Python program se može izvoditi na više elemenata popisa podataka u isto vrijeme.
  • Popis shvaćanja su Python funkcije koje se koriste za stvaranje novih sekvenci (kao što su popisi, rječnici itd.) koristeći sekvence koje su već stvorene.