Čo je zoznam Python?
Zoznam je presne taký, ako to znie, je kontajner, ktorý obsahuje rôzne objekty Pythonu, čo môžu byť celé čísla, slová, hodnoty atď. Je to ekvivalent poľa v iných programovacích jazykoch. Je reprezentovaný hranatými zátvorkami (a to je jeden z atribútov, ktoré ho odlišujú od n-tíc, ktoré sú oddelené zátvorkami). Je tiež premenlivý, to znamená, že ho možno upraviť alebo aktualizovať; na rozdiel od n-tic, ktoré sú nemenné.
V tomto výučbe pre python sa dozviete:
- Čo je zoznam Python?
- Príklady zoznamov Pythonu:
- Prístup k hodnotám v zoznamoch
- Uveďte zoznam
- Aktualizácia zoznamov
- Odstraňujú sa prvky zoznamu
- Pripojujú sa prvky zoznamu
- Zoznam vstavaných funkcií (metód)
- Opakovanie zoznamov
- Zoznam porozumení
Príklady zoznamov Pythonu:
Zoznamy Pythonu môžu byť homogénne, to znamená, že môžu obsahovať rovnaký typ objektov; alebo heterogénne vrátane rôznych druhov objektov.
Medzi príklady homogénnych zoznamov patria:
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]
Medzi príklady heterogénnych zoznamov patria:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Prístup k hodnotám v zoznamoch
Na prístup k hodnotám v zoznamoch je možné použiť index objektov v zoznamoch. Index v zoznamoch Python označuje pozíciu prvku v usporiadanom zozname. Napríklad:
list = [3, 22, 30, 5.3, 20]
- Prvá hodnota v zozname vyššie, 3, má index 0
- Druhá hodnota, 22, má index 1
- Tretia hodnota, 30, má index 2
a tak ďalej. Na prístup ku každej z hodnôt zo zoznamu by ste použili:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
Posledný člen zoznamu je tiež prístupný pomocou indexu -1. Napríklad,
list[-1] = 20
Uveďte zoznam
Zostavenie zoznamu je metóda rozdelenia podmnožiny zoznamu a na to sa používajú aj indexy objektov zoznamu. Napríklad pomocou rovnakého príkladu vyššie;
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).
Zoznamy Pythonu sú exkluzívne vyššie, čo znamená, že posledný index počas zostavovania zoznamu je zvyčajne ignorovaný. Preto
list[2:-1] = [30, 5.3], a nie [30, 5,3, 20]. To isté platí pre všetky ostatné príklady segmentácie uvedené vyššie.
Aktualizácia zoznamov
Povedzme, že máte zoznam = [fyzika, chémia, matematika] a chcete zoznam zmeniť na [biológia, chémia, matematika], čím skutočne zmeníte člena na indexe 0. To sa dá ľahko urobiť tak, že tento index priradíte k nového člena, ktorého chcete.
To znamená,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Výstup: [biológia, chémia, matematika]
To nahradí člena na indexe 0 (fyzika) novou požadovanou hodnotou (chémia). Toto je možné vykonať pre ktoréhokoľvek člena alebo podmnožinu zoznamu, ktorý chcete zmeniť.
Uvediem ďalší príklad; povedzme, že máte zoznam, ktorý sa volá celé čísla a obsahuje čísla [2, 5, 9, 20, 27]. Ak chcete v tomto zozname nahradiť 5, môžete to urobiť pomocou:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Ak chcete nahradiť posledného člena zoznamu celých čísel, ktorý je 27, voľným číslom ako 30,5, použite:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Odstraňujú sa prvky zoznamu
Existujú 3 metódy Pythonu na odstránenie prvkov zoznamu: operátor list.remove (), list.pop () a del. Metóda Remove berie konkrétny prvok, ktorý sa má odstrániť, ako argument, zatiaľ čo pop a del vezme index prvku, ktorý sa má odstrániť, ako argument. Napríklad:
zoznam = [3, 5, 7, 8, 9, 20]
Ak chcete vymazať 3 (prvý prvok) zo zoznamu, môžete použiť:
- list.odstrániť (3) alebo
- list.pop [0] alebo
- del list [0]
Ak chcete odstrániť 8, položku z indexu 3, zo zoznamu môžete použiť:
- list.odstrániť (8), alebo
- list.pop [3]
Pripojujú sa prvky zoznamu
Na pridanie prvkov do zoznamu sa použije metóda append, čím sa prvok pridá na koniec zoznamu.
Napríklad:
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"]
Zoznam vstavaných funkcií (metód)
Nasleduje zoznam vstavaných funkcií a metód s ich popismi:
- len (zoznam): udáva dĺžku zoznamu ako výstupu. Napríklad:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (zoznam): vráti položku v zozname s maximálnou hodnotou. Napríklad:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (zoznam): vráti položku v zozname s minimálnou hodnotou. Napríklad:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (n-tica): prevádza objekt n-tice na zoznam. Napríklad;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): pripojí element do zoznamu. Napríklad;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (index): odstráni prvok v zadanom indexe zo zoznamu. Napríklad;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): odstráni prvok zo zoznamu. Napríklad;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): obráti objekty v zozname. Napríklad;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): ak chcete získať hodnotu indexu prvku v zozname. Napríklad;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- suma (zoznam): ak chcete, aby sa získal súčet všetkých hodnôt v zozname, ak sú hodnotami všetky čísla (celé čísla alebo desatinné miesta). Napríklad;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Ak zoznam obsahuje akýkoľvek prvok, ktorý nie je číslom, napríklad reťazec, metóda súčtu by nefungovala. Dostali by ste chybu: „ TypeError : nepodporované typy operandov pre +: 'int' a 'str'“
- list.sort (): usporiadanie zoznamu celých čísel, čísel s pohyblivou rádovou čiarkou alebo reťazcov vo vzostupnom alebo zostupnom poradí. Napríklad:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Ďalší príklad:
values = [2, 10, 7, 14, 50]# To sort the values in descending order:values.sort(reverse = True)print(values)>>> [50, 14, 10, 7, 2]
Zoznam reťazcov je tiež možné triediť, a to podľa abecedy alebo podľa dĺžky reťazcov. Napríklad;
# 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']
Rovnaký zoznam môžeme zoradiť abecedne pomocou reťazcov '.
Opakovanie zoznamov
Opakovanie zoznamov sa dá vykonať rovnakým spôsobom ako ktorákoľvek iná funkcia opakovania v Pythone. Týmto spôsobom je možné vykonať metódu na viacerých prvkoch zoznamu súčasne. Napríklad:
zoznam = [10, 20, 30, 40, 50, 60, 70].
Ak chcete prehľadať všetky prvky tohto zoznamu a povedzme, pridajte ku každému prvku 10:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Na prechádzanie prvými tromi prvkami zoznamu a na vymazanie všetkých;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Ak chcete prechádzať cez tretí (index 2) po posledný prvok v zozname a pripojiť ich k novému zoznamu s názvom 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]
Týmto spôsobom je možné na členov zoznamu použiť ľubovoľnú metódu alebo metódu alebo funkciu na vykonanie konkrétnej operácie. Môžete prechádzať medzi všetkými členmi zoznamu alebo prechádzať podmnožinou zoznamu pomocou segmentovania zoznamu.
Uveďte pochopenie
Porozumenia zoznamov sú funkcie Pythonu, ktoré sa používajú na vytváranie nových sekvencií (ako sú zoznamy, slovníky atď.) Pomocou už vytvorených sekvencií. Pomáhajú znižovať dlhšie cykly a uľahčujú čítanie a údržbu kódu.
Napríklad; povedzme, že ste chceli vytvoriť zoznam, ktorý obsahuje druhé mocniny všetkých čísel 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]
To isté urobte s porozumením zoznamu:
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]
Ako je vidieť vyššie, písanie kódu pomocou porozumenia zoznamu je oveľa kratšie ako pri použití tradičných cyklov a je tiež rýchlejšie. Toto je len jeden príklad použitia zoznamov s porozumením namiesto pre slučky, ale toto je možné replikovať a použiť na mnohých miestach, kde je možné použiť aj slučky. Niekedy je lepšia voľba ísť s cyklom for, najmä ak je kód zložitý, ale v mnohých prípadoch vám porozumenie zoznamu uľahčí a zrýchli kódovanie.
Nasledujúca tabuľka obsahuje niektoré funkcie a metódy zoznamu a ich popisy.
Vstavané funkcie
FUNKCIA | POPIS |
Okrúhly() | Zaokrúhli počet odovzdaný ako argument na zadaný počet číslic a vráti hodnotu s pohyblivou rádovou čiarkou |
Min () | vráti minimálny prvok daného zoznamu |
Max () | vráti maximálny prvok daného zoznamu |
len () | Vráti dĺžku zoznamu |
Vymenovať () | Táto vstavaná funkcia generuje hodnoty a indexy položiek v iterovateľnej podobe, takže nemusíme počítať manuálne |
Filter () | testuje, či sú jednotlivé prvky zoznamu pravdivé alebo nie |
Lambda | Výraz, ktorý sa môže objaviť na miestach, kde def (na vytváranie funkcií) nie je syntaktický, vo vnútri literálu alebo volacích argumentov funkcie |
Mapa () | vráti zoznam výsledkov po použití danej funkcie na každú položku danej iterovateľnosti |
Hromadiť () | použiť konkrétnu funkciu odovzdanú v jej argumente na všetky prvky zoznamu vráti zoznam obsahujúci prechodné výsledky |
Súčet () | Vráti súčet všetkých čísel v zozname |
Cmp () | Používa sa na porovnanie dvoch zoznamov a vráti hodnotu 1, ak je prvý zoznam väčší ako druhý zoznam. |
Vložte | Vložte prvok do zoznamu na konkrétnej pozícii |
Zoznam metód
FUNKCIA | POPIS |
Pripojiť () | Pridá novú položku na koniec zoznamu |
Jasný() | Odstráni všetky položky zo zoznamu |
Kopírovať () | Vráti kópiu pôvodného zoznamu |
Rozšíriť () | Pridajte veľa položiek na koniec zoznamu |
Počet () | Vráti počet výskytov konkrétnej položky v zozname |
Register () | Vráti index konkrétneho prvku zoznamu |
Pop () | Vymaže položku zo zoznamu pri konkrétnom indexe (odstrániť podľa polohy) |
Odstrániť () | Odstráni zadanú položku zo zoznamu (odstrániť podľa hodnoty) |
Obrátiť () | Metóda reverzovania na mieste, ktorá obracia poradie prvkov v zozname |
Zhrnutie
- Zoznam je presne taký, aký znie, kontajner, ktorý obsahuje rôzne objekty Pythonu, čo môžu byť celé čísla, slová, hodnoty atď.
- Zoznamy Pythonu môžu byť homogénne, čo znamená, že môžu obsahovať rovnaký typ objektov; alebo heterogénne, obsahujúce rôzne typy objektov.
- Na prístup k hodnotám v zoznamoch je možné použiť index objektov v zoznamoch.
- Zostavenie zoznamu je metóda rozdelenia podmnožiny zoznamu a na to sa používajú aj indexy objektov zoznamu.
- Tri spôsoby odstránenia prvkov zoznamu sú: 1) operátor list.remove (), 2) list.pop () a 3) operátor del
- Na pripojenie prvkov sa používa metóda pridania. Týmto sa prvok pridá na koniec zoznamu.
- Metódu slučkovania programu Python je možné vykonávať na viacerých prvkoch zoznamu údajov súčasne.
- Porozumenia zoznamov sú funkcie Pythonu, ktoré sa používajú na vytváranie nových sekvencií (ako sú zoznamy, slovníky atď.) Pomocou už vytvorených sekvencií.