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.
KrajtaPoznámka: append() a extend() metody mohou přidávat prvky pouze na konec.
# 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.
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.
# 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.
- Porozumění a krájení seznamu v Pythonu
- Vnořená vysvětlení seznamu v Pythonu
- Seznam porozumění a ord() v Pythonu
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
| Funkce | Popis |
|---|---|
| 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
| Funkce | Popis |
|---|---|
| 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