Seznam Pythonu: Porozumění, Apend, Třídit, Délka, Obrátit PŘÍKLADY

Obsah:

Anonim

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.