Co je to seznam Pythonu?
Seznam je přesně takový, jaký zní, kontejner, který obsahuje různé objekty Pythonu, což mohou být celá čísla, slova, hodnoty atd. Jde o ekvivalent pole v jiných programovacích jazycích. Je reprezentován hranatými závorkami (a to je jeden z atributů, které jej odlišují od n-tic, které jsou odděleny závorkami). Je také proměnlivý, to znamená, že jej lze upravit nebo aktualizovat; na rozdíl od n-tic, které jsou neměnné.
V tomto výukovém programu pro python se naučíte:
- Co je to seznam Pythonu?
- Příklady seznamů Pythonu:
- Přístup k hodnotám v seznamech
- Seznam krájení
- Aktualizace seznamů
- Mazání prvků seznamu
- Připojování prvků seznamu
- Seznam předdefinovaných funkcí (metod)
- Opakování seznamů
- Seznam porozumění
Příklady seznamů Pythonu:
Seznamy v Pythonu mohou být homogenní, což znamená, že mohou obsahovat stejný typ objektů; nebo heterogenní, včetně různých typů objektů.
Mezi příklady homogenních seznamů patří:
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]
Mezi příklady heterogenních seznamů patří:
[2, 'cat', 34.33, 'Travis'][2.22, 33, 'pen']
Přístup k hodnotám v seznamech
Pro přístup k hodnotám v seznamech lze použít index objektů v seznamech. Index v seznamech Pythonu odkazuje na pozici prvku v uspořádaném seznamu. Například:
list = [3, 22, 30, 5.3, 20]
- První hodnota v seznamu výše, 3, má index 0
- Druhá hodnota, 22, má index 1
- Třetí hodnota 30 má index 2
a tak dále. Pro přístup ke každé z hodnot ze seznamu byste použili:
list[0] to access 3list[1] to access 22list[2] to access 30list[3] to access 5.3list[4] to access 20
K poslednímu členu seznamu lze přistupovat také pomocí indexu -1. Například,
list[-1] = 20
Seznam krájení
Řezání seznamu je metoda rozdělení podmnožiny seznamu a k tomu se také používají indexy objektů seznamu. Například pomocí stejného příkladu seznamu výše;
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).
Seznamy v Pythonu jsou výlučně nahoře, což znamená, že poslední index během krájení seznamu je obvykle ignorován. To je proč
list[2:-1] = [30, 5.3], a nikoli [30, 5,3, 20]. Totéž platí pro všechny ostatní příklady krájení seznamu uvedené výše.
Aktualizace seznamů
Řekněme, že máte seznam = [fyzika, chemie, matematika] a chcete změnit seznam na [biologie, chemie, matematika], čímž efektivně změníte člena na indexu 0. Toho lze snadno dosáhnout přiřazením tohoto indexu nového člena, kterého chcete.
To znamená,
list = [physics, chemistry, mathematics]list[0] = biologyprint(list)
Výstup: [biologie, chemie, matematika]
Tím se člen na indexu 0 (fyzika) nahradí novou požadovanou hodnotou (chemie). To lze provést u kteréhokoli člena nebo podmnožiny seznamu, který chcete změnit.
Uvedu další příklad; řekněme, že máte seznam s názvem celá čísla a obsahující čísla [2, 5, 9, 20, 27]. Chcete-li nahradit 5 v tomto seznamu 10, můžete to udělat pomocí:
integers = [2, 5, 9, 20, 27]integers[1] = 10print(integers)>>> [2, 10, 9, 20, 27]
Chcete-li nahradit posledního člena seznamu celých čísel, což je 27, volným číslem jako 30,5, použijete:
integers = [2, 5, 9, 20, 27]integers[-1] = 30.5print(integers)>>> [2, 5, 9, 20, 30.5]
Mazání prvků seznamu
Existují 3 metody Pythonu pro odstranění prvků seznamu: list.remove (), list.pop () a del operátor. Odebrat metoda vezme konkrétní prvek, který má být odstraněn jako argument, zatímco pop a del vezme index prvku, který má být odstraněn jako argument. Například:
seznam = [3, 5, 7, 8, 9, 20]
Chcete-li odstranit 3 (první prvek) ze seznamu, můžete použít:
- seznam. odebrat (3) nebo
- list.pop [0] nebo
- del seznam [0]
Chcete-li odstranit 8, položku v indexu 3, ze seznamu můžete použít:
- list.remove (8), nebo
- list.pop [3]
Připojování prvků seznamu
Chcete-li přidat prvky do seznamu, použije se metoda přidání a to přidá prvek na konec seznamu.
Napří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"]
Seznam předdefinovaných funkcí (metod)
Následuje seznam předdefinovaných funkcí a metod s jejich popisy:
- len (list): udává délku seznamu jako výstup. Například:
numbers = [2, 5, 7, 9]print(len(numbers))>>> 4
- max (seznam): vrací položku v seznamu s maximální hodnotou. Například:
numbers = [2, 5, 7, 9]print(max(numbers))>>> 9
- min (seznam): vrátí položku v seznamu s minimální hodnotou. Například:
numbers = [2, 5, 7, 9]print(min(numbers))>>> 2
- list (n-tice): převede objekt n-tice na seznam. Například;
animals = (cat, dog, fish, cow)print(list(animals))>>> [cat, dog, fish, cow]
- list.append (element): připojí prvek do seznamu. Například;
numbers = [2, 5, 7, 9]numbers.append(15)print(numbers)>>> [2, 5, 7, 9, 15]
- list.pop (index): odebere prvek ze zadaného indexu ze seznamu. Například;
numbers = [2, 5, 7, 9, 15]numbers.pop(2)print(numbers)>>> [2, 5, 9, 15]
- list.remove (element): odstraní prvek ze seznamu. Například;
values = [2, 5, 7, 9]values.remove(2)print(values)>>> [5, 7, 9]
- list.reverse (): převrátí objekty seznamu. Například;
values = [2, 5, 7, 10]values.reverse()print(values)>>> [10, 7, 5, 2]
- list.index (element): pro získání hodnoty indexu prvku v seznamu. Například;
animals = ['cat', 'dog', 'fish', 'cow', 'goat']fish_index = animals.index('fish')print(fish_index)>>> 2
- součet (seznam): Chcete-li získat součet všech hodnot v seznamu, pokud jsou hodnotami všechna čísla (celá čísla nebo desetinná místa). Například;
values = [2, 5, 10]sum_of_values = sum(values)print(sum_of_values)>>> 17
Pokud seznam obsahuje jakýkoli prvek, který není číslem, například řetězec, metoda součtu by nefungovala. Dostanete chybu, která říká: " TypeError : nepodporované typy operandů pro +: 'int' a 'str'"
- list.sort (): uspořádat seznam celých čísel, čísel s plovoucí desetinnou čárkou nebo řetězců ve vzestupném nebo sestupném pořadí. Například:
values = [1, 7, 9, 3, 5]# To sort the values in ascending order:values.sort()print(values)>>> [1, 3, 5, 7, 9]
Další pří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]
Seznam řetězců lze také řadit, buď abecedně, nebo podle délky řetězců. Napří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']
Stejný seznam můžeme řadit abecedně pomocí řetězců.
Opakování seznamů
Opakování seznamů lze provádět stejným způsobem jako jakoukoli jinou funkci opakování v Pythonu. Tímto způsobem lze metodu provést na více prvcích seznamu současně. Například:
seznam = [10, 20, 30, 40, 50, 60, 70].
Chcete-li procházet všemi prvky tohoto seznamu a řekněme, přidejte 10 ke každému prvku:
for elem in list:elem = elem + 5print(elem)>>>>15253545556575
Chcete-li procházet první tři prvky seznamu a odstranit všechny z nich;
for elem in list[:3]:list.remove(elem)>>>list = [40, 50, 60, 70]
Procházet třetí (index 2) posledním prvkem v seznamu a připojit je k novému seznamu s názvem 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 způsobem lze libovolnou metodu nebo funkci nebo funkci použít na členy seznamu k provedení konkrétní operace. Můžete procházet všechny členy seznamu nebo procházet podmnožinou seznamu pomocí krájení seznamu.
Seznam porozumění
Porozumění seznamu jsou funkce Pythonu, které se používají k vytváření nových sekvencí (jako jsou seznamy, slovníky atd.) Pomocí sekvencí, které již byly vytvořeny. Pomáhají snižovat delší smyčky a usnadňují čtení a údržbu kódu.
Například; řekněme, že jste chtěli vytvořit seznam obsahující čtverce všech čí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]
Totéž s porozuměním seznamu:
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]
Jak je vidět výše, psaní kódu pomocí porozumění seznamu je mnohem kratší než použití tradičních smyček a je také rychlejší. Toto je pouze jeden příklad použití seznamů s porozuměním místo pro smyčky, ale toto lze replikovat a použít na mnoha místech, kde lze také použít smyčky. Někdy je lepší použít smyčku for, zvláště pokud je kód složitý, ale v mnoha případech vám porozumění seznamu usnadní a zrychlí vaše kódování.
Níže je tabulka obsahující některé funkce a metody seznamu a jejich popisy.
Integrované funkce
FUNKCE | POPIS |
Kolo() | Zaokrouhlí číslo předané jako argument na zadaný počet číslic a vrátí hodnotu s plovoucí desetinnou čárkou |
Min () | vrací minimální prvek daného seznamu |
Max () | vrací maximální prvek daného seznamu |
len () | Vrátí délku seznamu |
Vyjmenovat() | Tato integrovaná funkce generuje hodnoty a indexy položek v iterovatelném formátu, takže nemusíme počítat ručně |
Filtr() | testuje, zda je každý prvek seznamu pravdivý nebo ne |
Lambda | Výraz, který se může objevit na místech, kde def (pro vytváření funkcí) není syntaktický, uvnitř literálu seznamu nebo argumentů volání funkce |
Mapa() | vrací seznam výsledků po aplikaci dané funkce na každou položku dané iterovatelnosti |
Akumulovat() | použít konkrétní funkci předanou v argumentu na všechny prvky seznamu vrátí seznam obsahující mezivýsledky |
Součet() | Vrátí součet všech čísel v seznamu |
Cmp () | Slouží k porovnání dvou seznamů a vrací 1, pokud je první seznam větší než druhý seznam. |
Vložit | Vložte prvek do seznamu na konkrétní pozici |
Seznam metod
FUNKCE | POPIS |
Připojit() | Přidá novou položku na konec seznamu |
Průhledná() | Odebere všechny položky ze seznamu |
Kopírovat() | Vrátí kopii původního seznamu |
Rozšířit() | Na konec seznamu přidejte mnoho položek |
Počet() | Vrátí počet výskytů konkrétní položky v seznamu |
Index() | Vrátí index konkrétního prvku seznamu |
Pop () | Odstraní položku ze seznamu u konkrétního indexu (smazat podle pozice) |
Odstranit() | Odstraní zadanou položku ze seznamu (smazat podle hodnoty) |
Zvrátit() | Metoda obrácení na místě, která obrací pořadí prvků v seznamu |
souhrn
- Seznam je přesně takový, jaký zní, kontejner, který obsahuje různé objekty Pythonu, což mohou být celá čísla, slova, hodnoty atd.
- Seznamy v Pythonu mohou být homogenní, to znamená, že mohou obsahovat stejný typ objektů; nebo heterogenní, obsahující různé typy objektů.
- Pro přístup k hodnotám v seznamech lze použít index objektů v seznamech.
- Řezání seznamu je metoda rozdělení podmnožiny seznamu a k tomu se také používají indexy objektů seznamu.
- Tři způsoby odstranění prvků seznamu jsou: 1) list.remove (), 2) list.pop () a 3) operátor del
- K připojení prvků se používá metoda přidání. Tím se přidá prvek na konec seznamu.
- Metodu opakování programu Python lze provádět na více prvcích seznamu dat současně.
- Porozumění seznamu jsou funkce Pythonu, které se používají k vytváření nových sekvencí (jako jsou seznamy, slovníky atd.) Pomocí sekvencí, které již byly vytvořeny.