logo

Python zoznamy

Python zoznamy sú rovnako ako polia s dynamickou veľkosťou, deklarované v iných jazykoch (vektorové v C++ a ArrayList v Jave). V jednoduchom jazyku je zoznam súborom vecí, ktoré sú uzavreté v [ ] a oddelené čiarkami.

odinštalovať angular cli

Zoznam je sekvenčný dátový typ, ktorý sa používa na uloženie kolekcie dát. Tuples a Reťazec sú iné typy sekvenčných dátových typov.

Príklad zoznamu v Pythone

Tu vytvárame Python Zoznam použitím [].



Python
Var = ['Geeks', 'for', 'Geeks'] print(Var)>

Výkon:

['Geeks', 'for', 'Geeks']>

Zoznamy sú najjednoduchšie kontajnery, ktoré sú neoddeliteľnou súčasťou jazyka Python. Zoznamy nemusia byť vždy homogénne, čo z nich robí najsilnejší nástroj Python . Jeden zoznam môže obsahovať dátové typy, ako sú celé čísla, reťazce a tiež objekty. Zoznamy sú meniteľné, a preto ich možno meniť aj po ich vytvorení.

Vytvorenie zoznamu v Pythone

Zoznamy v Pythone je možné vytvoriť jednoduchým umiestnením sekvencie do hranatých zátvoriek[]. Na rozdiel od Súpravy , zoznam nepotrebuje na vytvorenie zoznamu vstavanú funkciu.

Poznámka: Na rozdiel od množín môže zoznam obsahovať meniteľné prvky.

Príklad 1: Vytvorenie zoznamu v Pythone

Python
# Python program to demonstrate # Creation of List # Creating a List List = [] print('Blank List: ') print(List) # Creating a List of numbers List = [10, 20, 14] print('
List of numbers: ') print(List) # Creating a List of strings and accessing # using index List = ['Geeks', 'For', 'Geeks'] print('
List Items: ') print(List[0]) print(List[2])>

Výkon
Blank List: [] List of numbers: [10, 20, 14] List Items: Geeks Geeks>

Zložitosti pri vytváraní zoznamov

Časová zložitosť: O(1)

Priestorová zložitosť: O(n)

Príklad 2: Vytvorenie zoznamu s viacerými odlišnými alebo duplicitnými prvkami

Zoznam môže obsahovať duplicitné hodnoty s ich odlišnými pozíciami, a preto môžu byť viaceré odlišné alebo duplicitné hodnoty odovzdané ako postupnosť pri vytváraní zoznamu.

Python
# Creating a List with # the use of Numbers # (Having duplicate values) List = [1, 2, 4, 4, 3, 3, 3, 6, 5] print('
List with the use of Numbers: ') print(List) # Creating a List with # mixed type of values # (Having numbers and strings) List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] print('
List with the use of Mixed Values: ') print(List)>

Výkon
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']>

Prístup k prvkom zo zoznamu

Ak chcete získať prístup k položkám zoznamu, použite indexové číslo. Na prístup k položke v zozname použite indexový operátor [ ]. Index musí byť celé číslo. Vnorené zoznamy sú prístupné pomocou vnoreného indexovania.

Príklad 1: Prístup k prvkom zo zoznamu

Python
# Python program to demonstrate # accessing of element from list # Creating a List with # the use of multiple values List = ['Geeks', 'For', 'Geeks'] # accessing a element from the # list using index number print('Accessing a element from the list') print(List[0]) print(List[2])>

Výkon
Accessing a element from the list Geeks Geeks>

Príklad 2: Prístup k prvkom z viacrozmerného zoznamu

Python
# Creating a Multi-Dimensional List # (By Nesting a list inside a List) List = [['Geeks', 'For'], ['Geeks']] # accessing an element from the # Multi-Dimensional List using # index number print('Accessing a element from a Multi-Dimensional list') print(List[0][1]) print(List[1][0])>

Výkon
Accessing a element from a Multi-Dimensional list For Geeks>

Negatívne indexovanie

V Pythone predstavujú indexy negatívnej sekvencie pozície od konca zoznamu. Namiesto toho, aby ste museli počítať offset ako v List[len(List)-3], stačí napísať List[-3]. Negatívne indexovanie znamená začiatok od konca, -1 sa vzťahuje na poslednú položku, -2 sa vzťahuje na predposlednú položku atď.

Python
List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks'] # accessing an element using # negative indexing print('Accessing element using negative indexing') # print the last element of list print(List[-1]) # print the third last element of list print(List[-3])>

Výkon
Accessing element using negative indexing Geeks For>

Zložitosť prístupu k prvkom v zoznamoch:

Časová zložitosť: O(1)

Priestorová zložitosť: O(1)

Získanie veľkosti zoznamu Python

Python len() sa používa na získanie dĺžky zoznamu.

Python
# Creating a List List1 = [] print(len(List1)) # Creating a List of numbers List2 = [10, 20, 14] print(len(List2))>

Výkon
0 3>

Zadanie zoznamu Python

Vstup zoznamu prvkov môžeme brať ako reťazec, celé číslo, float atď. Ale predvolený je reťazec.

Príklad 1:

Python
# Python program to take space # separated input as a string # split and store it to a list # and print the string list # input the list as string string = input('Enter elements (Space-Separated): ') # split the strings and store it to a list lst = string.split() print('The list is:', lst) # printing the list>

Výkon:

Enter elements: GEEKS FOR GEEKS The list is: ['GEEKS', 'FOR', 'GEEKS']>

Príklad 2:

Python
# input size of the list n = int(input('Enter the size of list : ')) # store integers in a list using map, # split and strip functions lst = list(map(int, input('Enter the integer elements:').strip().split()))[:n] # printing the list print('The list is:', lst)>

Výkon:

Enter the size of list : 4 Enter the integer elements: 6 3 9 10 The list is: [6, 3, 9, 10]>

Ak chcete vedieť viac, pozri toto .

Pridávanie prvkov do zoznamu Python

Metóda 1: Použitie metódy append().

Prvky je možné pridať do zoznamu pomocou vstavaného pripojiť () funkciu. Pomocou metódy append() je možné do zoznamu pridať naraz iba jeden prvok, na pridanie viacerých prvkov pomocou metódy append() sa používajú slučky. N-tice môžu byť tiež pridané do zoznamu pomocou metódy append, pretože n-tice sú nemenné. Na rozdiel od množín je možné zoznamy pridať do existujúceho zoznamu aj pomocou metódy append().

Python
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [] print('Initial blank List: ') print(List) # Addition of Elements # in the List List.append(1) List.append(2) List.append(4) print('
List after Addition of Three elements: ') print(List) # Adding elements to the List # using Iterator for i in range(1, 4): List.append(i) print('
List after Addition of elements from 1-3: ') print(List) # Adding Tuples to the List List.append((5, 6)) print('
List after Addition of a Tuple: ') print(List) # Addition of List to a List List2 = ['For', 'Geeks'] List.append(List2) print('
List after Addition of a List: ') print(List)>

Výkon
Initial blank List: [] List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]>

Zložitosť pridávania prvkov do zoznamov (metóda append()):

Časová zložitosť: O(1)

S Zložitosť tempa: O(1)

Metóda 2: Použitie metódy insert().

metóda append() funguje iba na pridanie prvkov na koniec zoznamu, na pridanie prvkov na požadovanú pozíciu, vložiť() používa sa metóda. Na rozdiel od append(), ktorá má iba jeden argument, metóda insert() vyžaduje dva argumenty (pozícia, hodnota).

Python
# Python program to demonstrate  # Addition of elements in a List # Creating a List List = [1,2,3,4] print('Initial List: ') print(List) # Addition of Element at  # specific Position # (using Insert Method) List.insert(3, 12) List.insert(0, 'Geeks') print('
List after performing Insert Operation: ') print(List)>

Výkon
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]>

Zložitosť pridávania prvkov do metódy Lists(insert()):

Časová zložitosť: O(n)

Priestorová zložitosť: O(1)

Metóda 3: Použitie metódy extend().

Okrem metód append() a insert() existuje ešte jedna metóda na pridávanie prvkov, predĺžiť () , táto metóda sa používa na pridanie viacerých prvkov súčasne na koniec zoznamu.

Poznámka: append() a extend() metódy môžu pridávať prvky iba na koniec.

Python
# Python program to demonstrate # Addition of elements in a List # Creating a List List = [1, 2, 3, 4] print('Initial List: ') print(List) # Addition of multiple elements # to the List at the end # (using Extend Method) List.extend([8, 'Geeks', 'Always']) print('
List after performing Extend Operation: ') print(List)>

Výkon
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']>

Zložitosť pridávania prvkov do zoznamov (metóda extend()):

Časová zložitosť: O(n)

Priestorová zložitosť: O(1)

Obrátenie zoznamu

Metóda 1: Zoznam je možné obrátiť pomocou metóda reverse() v Pythone .

Python
# Reversing a list mylist = [1, 2, 3, 4, 5, 'Geek', 'Python'] mylist.reverse() print(mylist)>

Výkon
['Python', 'Geek', 5, 4, 3, 2, 1]>

Metóda 2: Pomocou obrátené () funkcia:

Funkcia reversed() vracia reverzný iterátor, ktorý je možné skonvertovať na zoznam pomocou funkcie list().

Python
my_list = [1, 2, 3, 4, 5] reversed_list = list(reversed(my_list)) print(reversed_list)>

Výkon
[5, 4, 3, 2, 1]>

Odstránenie prvkov zo zoznamu

Metóda 1: Použitie metódy remove().

Prvky môžu byť odstránené zo zoznamu pomocou vstavaného odstrániť () funkciu, ale ak prvok v zozname neexistuje, objaví sa chyba. Metóda Remove() odstraňuje iba jeden prvok naraz, na odstránenie rozsahu prvkov sa používa iterátor. Metóda remove() odstráni zadanú položku.

Poznámka: Metóda Odstrániť v zozname odstráni iba prvý výskyt hľadaného prvku.

Príklad 1:

Python
# Python program to demonstrate # Removal of elements in a List # Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] print('Initial List: ') print(List) # Removing elements from List # using Remove() method List.remove(5) List.remove(6) print('
List after Removal of two elements: ') print(List)>

Výkon
Initial List: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] List after Removal of two elements: [1, 2, 3, 4, 7, 8, 9, 10, 11, 12]>

Príklad 2:

Python
# Creating a List List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] # Removing elements from List # using iterator method for i in range(1, 5): List.remove(i) print('
List after Removing a range of elements: ') print(List)>

Výkon
List after Removing a range of elements: [5, 6, 7, 8, 9, 10, 11, 12]>

Zložitosť odstraňovania prvkov v metóde Lists(remove()):

Časová zložitosť: O(n)

Priestorová zložitosť: O(1)

Metóda 2: Použitie metódy pop().

funkcia pop(). možno použiť aj na odstránenie a vrátenie prvku zo zoznamu, ale štandardne odstráni iba posledný prvok zo zoznamu, na odstránenie prvku z konkrétnej pozície v zozname sa index prvku odovzdá ako argument metóda pop().

Python
List = [1, 2, 3, 4, 5] # Removing element from the # Set using the pop() method List.pop() print('
List after popping an element: ') print(List) # Removing element at a # specific location from the # Set using the pop() method List.pop(2) print('
List after popping a specific element: ') print(List)>

Výkon
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]>

Zložitosť odstraňovania prvkov v zoznamoch (metóda pop()):

Časová zložitosť: O(1)/O(n) (O(1) na odstránenie posledného prvku, O(n) na odstránenie prvého a stredného prvku)

Priestorová zložitosť: O(1)

Rozdelenie zoznamu

Podreťazce a podzoznamy môžeme získať pomocou rezu. V zozname Python existuje niekoľko spôsobov, ako vytlačiť celý zoznam so všetkými prvkami, ale na tlač konkrétneho rozsahu prvkov zo zoznamu používame Operácia plátkov .

Operácia rezu sa vykonáva na zoznamoch s použitím dvojbodky (:).

Ak chcete vytlačiť prvky od začiatku po rozsah, použite:

[: Index]

Ak chcete vytlačiť prvky z konečného použitia:

[:-Index]

Tlač prvkov zo špecifického indexu až do konečného použitia

[Index:]

Ak chcete vytlačiť celý zoznam v opačnom poradí, použite

[::-1]

Poznámka - Ak chcete vytlačiť prvky zoznamu zo zadnej časti, použite negatívne indexy.

python-list-slicing

POROZUMENIE ČEKANIA ZOZNAMOV:

  • pr[0] pristupuje k prvej položke, 2.
  • pr[-4] pristupuje k štvrtej položke od konca, 5.
  • pr[2:] sprístupňuje [5, 7, 11, 13], zoznam položiek od tretieho po posledný.
  • pr[:4] sprístupňuje [2, 3, 5, 7], zoznam položiek od prvého do štvrtého.
  • pr[2:4] sprístupňuje [5, 7], zoznam položiek od tretieho do piateho.
  • pr[1::2] sprístupňuje [3, 7, 13], alternatívne položky, počnúc druhou položkou.
Python
# Python program to demonstrate # Removal of elements in a List # Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements of a range # using Slice operation Sliced_List = List[3:8] print('
Slicing elements in a range 3-8: ') print(Sliced_List) # Print elements from a # pre-defined point to end Sliced_List = List[5:] print('
Elements sliced from 5th ' 'element till the end: ') print(Sliced_List) # Printing elements from # beginning till end Sliced_List = List[:] print('
Printing all elements using slice operation: ') print(Sliced_List)>

Výkon
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Slicing elements in a range 3-8: ['K', 'S', 'F', 'O', 'R'] Elements sliced from 5th element till the end: ['F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Printing all elements using slice operation: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S']>

Negatívny index Krájanie zoznamu

Python
# Creating a List List = ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] print('Initial List: ') print(List) # Print elements from beginning # to a pre-defined point using Slice Sliced_List = List[:-6] print('
Elements sliced till 6th element from last: ') print(Sliced_List) # Print elements of a range # using negative index List slicing Sliced_List = List[-6:-1] print('
Elements sliced from index -6 to -1') print(Sliced_List) # Printing elements in reverse # using Slice operation Sliced_List = List[::-1] print('
Printing List in reverse: ') print(Sliced_List)>

Výkon
Initial List: ['G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S'] Elements sliced till 6th element from last: ['G', 'E', 'E', 'K', 'S', 'F', 'O'] Elements sliced from index -6 to -1 ['R', 'G', 'E', 'E', 'K'] Printing List in reverse: ['S', 'K', 'E', 'E', 'G', 'R', 'O', 'F', 'S', 'K', 'E', 'E', 'G']>

Porozumenie zoznamu

Porozumenie zoznamu Python sa používajú na vytváranie nových zoznamov z iných iterovateľných položiek, ako sú n-tice, reťazce, polia, zoznamy atď. Porozumenie zoznamu pozostáva zo zátvoriek obsahujúcich výraz, ktorý sa vykonáva pre každý prvok spolu s cyklom for na iteráciu každého prvku.

Syntax:

newList = [ výraz (prvok) pre prvok v starom zozname, ak podmienka ]

Príklad:

Python
# Python program to demonstrate list # comprehension in Python # below list contains square of all # odd numbers from range 1 to 10 odd_square = [x ** 2 for x in range(1, 11) if x % 2 == 1] print(odd_square)>

Výkon
[1, 9, 25, 49, 81]>

Pre lepšie pochopenie je vyššie uvedený kód podobný nasledovnému:

Python
# for understanding, above generation is same as, odd_square = [] for x in range(1, 11): if x % 2 == 1: odd_square.append(x**2) print(odd_square)>

Výkon
[1, 9, 25, 49, 81]>

Podrobné informácie o porozumení zoznamu nájdete v článkoch nižšie.

Základný príklad na zozname Python

  • Python program na výmenu prvého a posledného prvku v zozname
  • Program Python na výmenu dvoch prvkov v zozname
  • Python – Zameňte prvky v zozname reťazcov
  • Python | Spôsoby, ako zistiť dĺžku zoznamu
  • Maximálne dve čísla v Pythone
  • Minimálne dve čísla v Pythone

Ak si chcete precvičiť základnú operáciu so zoznamom, prečítajte si tento článok – Zoznam programov v Pythone

Zoznam metód

FunkciaPopis
Append() Pridajte prvok na koniec zoznamu
Rozšíriť() Pridajte všetky prvky zoznamu do iného zoznamu
vložiť() Vložte položku do definovaného indexu
Odstrániť() Odstráni položku zo zoznamu
Jasný() Odstráni všetky položky zo zoznamu
Index() Vráti index prvej vyhovujúcej položky
počet() Vráti počet položiek odovzdaných ako argument
Zoradiť () Zoraďte položky v zozname vo vzostupnom poradí
Obrátiť () Obráťte poradie položiek v zozname
kopírovať () Vráti kópiu zoznamu
pop() Odstráni a vráti položku v zadanom indexe. Ak nie je zadaný žiadny index, odstráni a vráti poslednú položku.

Ak chcete vedieť viac, pozrite si tento článok - Metódy Python List

Vyššie uvedené operácie upravujú samotný zoznam.

Vstavané funkcie so zoznamom

FunkciaPopis
znížiť () použiť konkrétnu funkciu odovzdanú vo svojom argumente na všetky prvky zoznamu uloží medzivýsledok a vráti iba konečnú hodnotu súčtu
suma() Zhŕňa čísla v zozname
slovo () Vráti celé číslo predstavujúce bod kódu Unicode daného znaku Unicode
cmp() Táto funkcia vráti 1, ak je prvý zoznam väčší ako druhý zoznam
max() vrátiť maximálny prvok daného zoznamu
min() vrátiť minimálny prvok daného zoznamu
všetko() Vráti hodnotu true, ak sú všetky prvky pravdivé alebo ak je zoznam prázdny
akýkoľvek() vráti true, ak je niektorý prvok zoznamu pravdivý. ak je zoznam prázdny, vráti hodnotu false
len() Vráti dĺžku zoznamu alebo veľkosť zoznamu
enumerate() Vráti objekt enumerate zoznamu
hromadiť () použiť konkrétnu funkciu odovzdanú v jej argumente na všetky prvky zoznamu vráti zoznam obsahujúci medzivýsledky
filter() testuje, či je každý prvok zoznamu pravdivý alebo nie
mapa() vráti zoznam výsledkov po použití danej funkcie na každú položku danej iterácie
lambda() Táto funkcia môže mať ľubovoľný počet argumentov, ale iba jeden výraz, ktorý sa vyhodnotí a vráti.

Prejdite si najnovšie články na zoznamoch

Užitočné odkazy:

  • Najnovšie články o zozname Python
  • Návody na Python
  • Otázky s viacerými možnosťami
  • Všetky články v kategórii Python