Příklad 1: Zřetězení seznamů s operátorem „+“.
Ke zřetězení seznamů můžeme v Pythonu použít operátor „+“. Pomocí operátoru „+“ můžete spojit dva nebo více seznamů a vytvořit nový seznam. Když u seznamů použijete operátor „+“, vytvoří se nový seznam a prvky původních seznamů se zkopírují do nového seznamu v pořadí, v jakém se zobrazují.
Zde je jednoduchý příklad:
list 1 = [ 1 , 2 , 3 ]
seznam2 = [ 4 , 5 , 6 ]
seznam_výsledků = seznam1 + seznam2
tisk ( seznam_výsledků )
Na tomto obrázku máme dva seznamy: „seznam1“ a „seznam2“. K jejich integraci do jednoho seznamu používáme operátor „+“. Při použití se seznamy je operátor „+“ zřetězí, což znamená, že připojí prvky druhého seznamu na konec prvního. Takže po provedení „seznam_výsledků = seznam1 + seznam2″ bude „seznam_výsledků“ obsahovat prvky „seznam1“ a „seznam2“ v pořadí, v jakém byly zřetězeny.
I když je tato metoda stručná, mějte na paměti, že vytvoří nový seznam, který nemusí být efektivní pro velké seznamy kvůli režii vytváření kopie.
Příklad 2: Využití metody Extend().
Položky iterovatelného lze připojit na konec existujícího seznamu pomocí metody extend(). Upravuje původní seznam na místě, na rozdíl od operátoru „+“, který vytváří nový seznam.
Předpokládejme, že máme seznam studentů ve třídě a chceme tento seznam rozšířit přidáním jmen nových studentů, kteří se nedávno připojili pomocí metody extend(). Zde je návod, jak na to:
třída_studenti = [ 'Alice' , 'Bella' , 'Kája' ]
noví_studenti = [ 'David' , 'Eva' , 'Adam' ]
třída_studenti. rozšířit ( noví_studenti )
tisk ( 'Aktualizovaný seznam studentů:' , třída_studenti )
V tomto příkladu původní seznam, který je „class_students“, obsahuje jména stávajících studentů. Seznam „noví_studenti“ obsahuje jména studentů, kteří se nedávno připojili ke kurzu. Použitím metody extend() přidáme jména nových studentů na konec původního seznamu.
Příklad 3: Použití operátoru „+=“ pro zřetězení
Operátor „+=“ je zkratkou pro metodu extend(). Upravuje seznam na místě, kombinuje prvky seznamu na pravé straně do seznamu na levé straně.
Předpokládejme, že máme seznam oblíbených barev a chceme jej aktualizovat přidáním dalších barev pomocí operátoru „+=“.
oblíbené_barvy = [ 'modrý' , 'zelená' , 'Červené' ]dodatečné_barvy = [ 'nachový' , 'oranžový' , 'žlutá' ]
oblíbené_barvy + = dodatečné_barvy
tisk ( 'Aktualizované oblíbené barvy:' , oblíbené_barvy )
V tomto scénáři začneme se seznamem našich oblíbených barev, který je reprezentován „favorite_colors“. Pak máme nějaké nové barvy, které bychom rádi zahrnuli do seznamu „další_barvy“. Pomocí operátoru „+=“ zkombinujeme nové barvy s našimi stávajícími oblíbenými a upravíme seznam „oblíbené_barvy“.
Po operaci, když vytiskneme „Naše aktualizované oblíbené barvy“, můžeme vidět následující výsledek:
Příklad 4: Použití operátoru „*“.
Operátor „*“ lze použít pro replikaci seznamu. Ale při aplikaci na seznamy je může zřetězit opakováním prvků.
Zde je příklad:
původní_seznam = [ 1 , 2 , 3 ]zřetězený_seznam = původní_seznam * 3
tisk ( zřetězený_seznam )
V tomto případě začneme s „original_list“, který obsahuje prvky [1, 2, 3]. Pomocí operátoru „*“ vytvoříme nový seznam, kterým je „concatenated_list“, který se skládá ze tří opakování prvků z původního seznamu.
I když je tento přístup pro zřetězení méně běžný, ukazuje flexibilitu operátorů Pythonu.
Příklad 5: Použití funkce Itertools.chain()
Funkce itertools.chain() je součástí modulu „itertools“ a používá se ke zřetězení iterovatelného (jako jsou seznamy, n-tice nebo jiné iterovatelné objekty) do jednoho „iterovatelného“. Na rozdíl od některých jiných metod zřetězení itertools.chain() nevytváří nový seznam, ale vytváří iterátor nad prvky vstupních iterovatelných položek.
z itertools import řetězL1 = [ 1 , 2 , 3 ]
L2 = [ 'X' , 'a' , 'S' ]
concatenated_iterable = řetěz ( L1 , L2 )
seznam_výsledků = seznam ( concatenated_iterable )
tisk ( seznam_výsledků )
V uvedeném příkladu máme dva seznamy – „L1“ obsahuje číselné hodnoty [1, 2, 3] a „L2“ obsahuje abecední znaky [„x“, „y“, „z“]. Pomocí funkce itertools.chain() zřetězíme tyto seznamy do jediné iterovatelné, reprezentované „concatenated_iterable“. Funkce list() se poté použije k převedení iterovatelného na seznam, jehož výsledkem je kombinovaný seznam [1, 2, 3, „x“, „y“, „z“].
Příklad 6: Rozřezávání seznamu
Poskytováním řady indexů je dělení seznamu technikou, která nám umožňuje získat podmnožinu seznamu. Zahrnuje použití operátoru dvojtečka (:) v hranatých závorkách k označení počátečních, koncových a volitelných hodnot kroku.
Zde je ukázkový kód:
aktuální_seznam = [ 1 , 2 , 3 , 4 , 5 ]sliced_list = aktuální_seznam [ 1 : 4 ]
tisk ( sliced_list )
Ilustraci začneme původním seznamem čísel, který je označen jako „aktuální_seznam“, který obsahuje prvky [1, 2, 3, 4, 5]. Extrahujeme konkrétní segment seznamu pomocí dělení seznamu, což je výkonná funkce v Pythonu. V tomto případě se používá řez „aktuální_seznam[1:4]“ a vybírá prvky od indexu 1 do indexu 3 (ale ne z indexu 4). Výsledkem je nový seznam s názvem „sliced_list“, který obsahuje rozdělenou část [2, 3, 4].
Příklad 7: Zřetězení s funkcí Zip().
Funkce zip() kombinuje prvky z více iterovatelných prvků a vytváří dvojice nebo n-tice odpovídajících prvků. K vytvoření těchto párů se používají prvky každé iterace na stejném indexu.
studentů = [ 'Alice' , 'Bob' , 'Kája' ]stupně = [ 85 , 92 , 78 ]
student_grade_pairs = zip ( studentů , stupně )
result_dict = diktát ( student_grade_pairs )
tisk ( 'Páry student-ročník:' , result_dict )
V tomto příkladu funkce zip() spáruje jména studentů ze seznamu „studentů“ s jejich odpovídajícími známkami ze seznamu „známek“, což vede ke slovníku, kde je každý student spojen s jejich příslušnou známkou.
Závěr
Závěrem lze říci, že Python nabízí mnoho způsobů, jak zřetězit seznamy, z nichž každý má své výhody. Když jsme zkoumali různé metody, od jednoduchého operátoru „+“ po jemnější funkci zip(), ukázalo se, že Python vyhovuje různým programovacím stylům a preferencím. V závislosti na dané práci faktory, jako je čitelnost, efektivita paměti a typ zpracovávaných dat, určí, která metoda je nejlepší.