logo

Seznamy Pythonu

Seznamy Pythonu jsou stejně jako dynamicky velká pole deklarovaná v jiných jazycích (vektor v C++ a ArrayList v Javě). V jednoduchém jazyce je seznam souhrn věcí, uzavřených v [ ] a oddělených čárkami.

odinstalovat angular cli

Seznam je sekvenční datový typ, který se používá k ukládání kolekce dat. N-tice a Tětiva jsou další typy sekvenčních datových typů.

Příklad seznamu v Pythonu

Zde vytváříme Python Seznam použitím [].



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

Výstup:

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

Seznamy jsou nejjednodušší kontejnery, které jsou nedílnou součástí jazyka Python. Seznamy nemusí být vždy homogenní, což z nich dělá nejmocnější nástroj Krajta . Jeden seznam může obsahovat datové typy, jako jsou celá čísla, řetězce a také objekty. Seznamy jsou proměnlivé, a proto je lze měnit i po jejich vytvoření.

Vytvoření seznamu v Pythonu

Seznamy v Pythonu lze vytvořit pouhým umístěním sekvence do hranatých závorek[]. Na rozdíl od Sady , seznam nepotřebuje pro vytvoření seznamu vestavěnou funkci.

Poznámka: Na rozdíl od sad může seznam obsahovat měnitelné prvky.

Příklad 1: Vytvoření seznamu v Pythonu

Krajta
# 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ýstup
Blank List: [] List of numbers: [10, 20, 14] List Items: Geeks Geeks>

Složitost při vytváření seznamů

Časová náročnost: O(1)

Prostorová složitost: Na)

Příklad 2: Vytvoření seznamu s více odlišnými nebo duplicitními prvky

Seznam může obsahovat duplicitní hodnoty s jejich odlišnými pozicemi, a proto lze při vytváření seznamu předat více odlišných nebo duplicitních hodnot jako sekvenci.

Krajta
# 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ýstup
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']>

Přístup k prvkům ze seznamu

Pro přístup k položkám seznamu použijte indexové číslo. Pro přístup k položce v seznamu použijte indexový operátor [ ]. Index musí být celé číslo. Vnořené seznamy jsou přístupné pomocí vnořeného indexování.

Příklad 1: Přístup k prvkům ze seznamu

Krajta
# 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ýstup
Accessing a element from the list Geeks Geeks>

Příklad 2: Přístup k prvkům z vícerozměrného seznamu

Krajta
# 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ýstup
Accessing a element from a Multi-Dimensional list For Geeks>

Negativní indexování

V Pythonu představují indexy negativní sekvence pozice od konce seznamu. Místo toho, abyste museli počítat offset jako v List[len(List)-3], stačí napsat List[-3]. Negativní indexování znamená začátek od konce, -1 odkazuje na poslední položku, -2 odkazuje na předposlední položku atd.

Krajta
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ýstup
Accessing element using negative indexing Geeks For>

Složitost přístupu k prvkům v seznamech:

Časová náročnost: O(1)

Prostorová složitost: O(1)

Získání velikosti seznamu Python

Krajta jen() se používá k získání délky seznamu.

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

Výstup
0 3>

Vstup do seznamu Python

Vstup seznamu prvků můžeme brát jako řetězec, celé číslo, float atd. Ale výchozí je řetězec.

Příklad 1:

Krajta
# 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ýstup:

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

Příklad 2:

Krajta
# 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ýstup:

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

Chcete-li vědět více, viz tento .

Přidání prvků do seznamu Python

Metoda 1: Použití metody append().

Prvky lze přidat do seznamu pomocí vestavěného připojit() funkce. Pomocí metody append() lze do seznamu přidat vždy pouze jeden prvek, pro přidání více prvků pomocí metody append() se používají smyčky. N-tice lze také přidat do seznamu pomocí metody append, protože n-tice jsou neměnné. Na rozdíl od sad lze seznamy také přidat do existujícího seznamu pomocí metody append().

Krajta
# 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ýstup
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']]>

Složitost přidávání prvků v metodě Lists(append()):

Časová náročnost: O(1)

S Složitost tempa: O(1)

Metoda 2: Použití metody insert().

metoda append() funguje pouze pro přidání prvků na konec seznamu, pro přidání prvků na požadovanou pozici, vložit() používá se metoda. Na rozdíl od append(), která přebírá pouze jeden argument, vyžaduje metoda insert() dva argumenty (pozice, hodnota).

Krajta
# 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ýstup
Initial List: [1, 2, 3, 4] List after performing Insert Operation: ['Geeks', 1, 2, 3, 12, 4]>

Složitost přidávání prvků v metodě Lists(insert()):

Časová náročnost: Na)

Prostorová složitost: O(1)

Metoda 3: Použití metody extend().

Kromě metod append() a insert() existuje ještě jedna metoda pro přidání prvků, rozšířit() , tato metoda se používá k přidání více prvků současně na konec seznamu.

Poznámka: append() a extend() metody mohou přidávat prvky pouze na konec.

Krajta
# 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ýstup
Initial List: [1, 2, 3, 4] List after performing Extend Operation: [1, 2, 3, 4, 8, 'Geeks', 'Always']>

Složitost přidávání prvků v metodě Lists(extend()):

Časová náročnost: Na)

Prostorová složitost: O(1)

Obrácení seznamu

Metoda 1: Seznam lze obrátit pomocí metoda reverse() v Pythonu .

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

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

Metoda 2: Pomocí obrácený () funkce:

Funkce reversed() vrací zpětný iterátor, který lze převést na seznam pomocí funkce list().

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

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

Odebrání prvků ze seznamu

Metoda 1: Použití metody remove().

Prvky lze ze seznamu odstranit pomocí vestavěného odstranit() funkce, ale pokud prvek v seznamu neexistuje, dojde k chybě. Metoda Remove() odstraňuje pouze jeden prvek najednou, k odstranění řady prvků se používá iterátor. Metoda remove() odebere zadanou položku.

Poznámka: Metoda Remove v seznamu odstraní pouze první výskyt hledaného prvku.

Příklad 1:

Krajta
# 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ýstup
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]>

Příklad 2:

Krajta
# 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ýstup
List after Removing a range of elements: [5, 6, 7, 8, 9, 10, 11, 12]>

Složitost pro mazání prvků v metodě Lists(remove()):

Časová náročnost: Na)

Prostorová složitost: O(1)

Metoda 2: Použití metody pop().

funkce pop(). lze také použít k odstranění a vrácení prvku ze seznamu, ale ve výchozím nastavení odstraní pouze poslední prvek seznamu, pro odstranění prvku z konkrétní pozice v seznamu se index prvku předá jako argument metodu pop().

Krajta
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ýstup
List after popping an element: [1, 2, 3, 4] List after popping a specific element: [1, 2, 4]>

Složitost pro mazání prvků v metodě Lists(pop()):

Časová náročnost: O(1)/O(n) (O(1) pro odstranění posledního prvku, O(n) pro odstranění prvního a prostředního prvku)

Prostorová složitost: O(1)

Rozdělení seznamu

Podřetězce a podseznamy můžeme získat pomocí řezu. V seznamu Python existuje několik způsobů, jak vytisknout celý seznam se všemi prvky, ale pro tisk konkrétního rozsahu prvků ze seznamu použijeme Operace řezu .

Operace řezu se provádí na seznamech s použitím dvojtečky(:).

Chcete-li vytisknout prvky od začátku do rozsahu, použijte:

[: Index]

Chcete-li vytisknout prvky z konečného použití:

[:-Index]

Chcete-li tisknout prvky z konkrétního rejstříku až do konečného použití

[Index:]

Chcete-li vytisknout celý seznam v opačném pořadí, použijte

[::-1]

Poznámka - Chcete-li vytisknout prvky seznamu ze zadní části, použijte záporné indexy.

python-list-slicing

POROZUMĚNÍ ŘEZENÍ SEZNAMŮ:

  • pr[0] přistupuje k první položce, 2.
  • pr[-4] přistupuje ke čtvrté položce od konce, 5.
  • pr[2:] otevírá [5, 7, 11, 13], seznam položek od třetího po poslední.
  • pr[:4] zpřístupňuje [2, 3, 5, 7], seznam položek od prvního do čtvrtého.
  • pr[2:4] zpřístupňuje [5, 7], seznam položek od třetí do páté.
  • pr[1::2] přistupuje k [3, 7, 13], alternativním položkám, počínaje druhou položkou.
Krajta
# 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ýstup
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']>

Negativní index Dělení seznamu

Krajta
# 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ýstup
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']>

Porozumění seznamu

Porozumění seznamu Python se používají k vytváření nových seznamů z jiných iterovatelných položek, jako jsou n-tice, řetězce, pole, seznamy atd. Seznam se skládá ze závorek obsahujících výraz, který se provádí pro každý prvek spolu se smyčkou for pro iteraci každého prvku.

Syntax:

newList = [ expression(element) for element in oldList if condition ]

Příklad:

Krajta
# 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ýstup
[1, 9, 25, 49, 81]>

Pro lepší pochopení je výše uvedený kód podobný následujícímu:

Krajta
# 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ýstup
[1, 9, 25, 49, 81]>

Podrobné informace o funkci List Comprehension naleznete v níže uvedených článcích.

Základní příklad na seznamu Python

  • Python program pro výměnu prvního a posledního prvku v seznamu
  • Python program pro záměnu dvou prvků v seznamu
  • Python – Zaměnit prvky v seznamu řetězců
  • Python | Způsoby, jak zjistit délku seznamu
  • Maximálně dvě čísla v Pythonu
  • Minimálně dvě čísla v Pythonu

Chcete-li si procvičit základní operace se seznamem, přečtěte si tento článek – Seznam programů v Pythonu

Seznam metod

FunkcePopis
Připojit() Přidejte prvek na konec seznamu
Rozšířit() Přidejte všechny prvky seznamu do jiného seznamu
Vložit() Vložte položku na definovaný index
Odstranit() Odebere položku ze seznamu
Průhledná() Odebere všechny položky ze seznamu
Index() Vrátí index první odpovídající položky
Počet() Vrátí počet položek předaný jako argument
Seřadit () Seřaďte položky v seznamu ve vzestupném pořadí
Zvrátit() Obrátit pořadí položek v seznamu
kopírovat() Vrátí kopii seznamu
pop() Odebere a vrátí položku na zadaném indexu. Pokud není uveden žádný index, odebere a vrátí poslední položku.

Více informací naleznete v tomto článku – Metody Python List

Výše uvedené operace upravují samotný seznam.

Vestavěné funkce se seznamem

FunkcePopis
snížit() aplikovat konkrétní funkci předanou ve svém argumentu na všechny prvky seznamu uloží mezivýsledek a vrátí pouze konečnou hodnotu součtu
součet() Sečte čísla v seznamu
slovo() Vrátí celé číslo představující bod kódu Unicode daného znaku Unicode
cmp() Tato funkce vrátí 1, pokud je první seznam větší než druhý seznam
max() vrátit maximum prvku daného seznamu
min() vrátit minimální prvek daného seznamu
Všechno() Vrátí hodnotu true, pokud jsou všechny prvky pravdivé nebo pokud je seznam prázdný
žádný() vrátí true, pokud je některý prvek seznamu pravdivý. pokud je seznam prázdný, vrátí false
jen() Vrátí délku seznamu nebo velikost seznamu
vyjmenovat() Vrátí objekt výčtu seznamu
akumulovat() použít konkrétní funkci předanou v jejím argumentu na všechny prvky seznamu vrátí seznam obsahující mezivýsledky
filtr() testuje, zda je každý prvek seznamu pravdivý nebo ne
mapa() vrací seznam výsledků po aplikaci dané funkce na každou položku dané iterovatelnosti
lambda() Tato funkce může mít libovolný počet argumentů, ale pouze jeden výraz, který je vyhodnocen a vrácen.

Projděte si poslední články na Seznamech

Užitečné odkazy:

  • Nejnovější články o seznamu Python
  • Tutoriály Pythonu
  • Otázky s možností označení více odpovědí
  • Všechny články v kategorii Python