1. példa: Listák összefűzése „+” operátorral
A Pythonban a „+” operátort használhatjuk a listák összefűzésére. A „+” operátor használatával két vagy több listát egyesíthet új lista létrehozásához. Ha a „+” operátort listákkal használja, egy új lista jön létre, és az eredeti listák elemei a megjelenésük sorrendjében másolódnak az új listába.
Íme egy egyszerű példa:
1. lap = [ 1 , 2 , 3 ]
lista2 = [ 4 , 5 , 6 ]
eredmény_lista = lista1 + lista2
nyomtatás ( eredmény_lista )
Ezen az ábrán két lista található: „lista1” és „lista2”. A „+” operátort használjuk, hogy egyetlen listába integráljuk őket. Listákkal használva a „+” operátor összefűzi azokat, ami azt jelenti, hogy a második lista elemeit az első végéhez kapcsolja. Tehát az „eredménylista = lista1 + lista2” végrehajtása után az „eredménylista” tartalmazza a „list1” és a „list2” elemeit is abban a sorrendben, amelyben összefűzték őket.
Bár ez a módszer tömör, ne feledje, hogy új listát hoz létre, amely nem biztos, hogy hatékony nagy listák esetén a másolat létrehozásának többletköltsége miatt.
2. példa: Az Extend() metódus használata
Az iterable elemei az extend() metódussal hozzáfűzhetők egy létező lista végéhez. A helyén módosítja az eredeti listát, ellentétben a „+” operátorral, amely új listát hoz létre.
Tegyük fel, hogy van egy osztály tanulóinak listája, és szeretnénk ezt a listát kibővíteni az expand() metódussal nemrég csatlakozott új tanulók nevének hozzáadásával. A következőképpen járhat el:
osztály_diákok = [ 'Alice' , 'Bella' , 'Charlie' ]
új_diákok = [ 'Dávid' , 'Eva' , 'Ádám' ]
osztály_diákok. kiterjeszt ( új_diákok )
nyomtatás ( 'A tanulók frissített listája:' , osztály_diákok )
Ebben a példában az eredeti lista, amely „class_students” a meglévő tanulók neveit tartalmazza. Az „új_diákok” listán azon tanulók nevei szerepelnek, akik nemrég csatlakoztak az osztályhoz. Az extend() metódus alkalmazásával az új tanulók nevét az eredeti lista végére adjuk.
3. példa: A „+=” operátor alkalmazása az összefűzéshez
A „+=” operátor az extend() metódus rövidítése. Helyben módosítja a listát, a jobb oldali lista elemeit kombinálja a bal oldali listával.
Tegyük fel, hogy van egy listánk a kedvenc színeinkről, és azt szeretnénk frissíteni további színek hozzáadásával a „+=” operátor használatával.
kedvenc_színek = [ 'kék' , 'zöld' , 'piros' ]további_színek = [ 'lila' , 'narancs' , 'sárga' ]
kedvenc_színek + = további_színek
nyomtatás ( 'Frissített kedvenc színek:' , kedvenc_színek )
Ebben a forgatókönyvben a kedvenc színeink listájával kezdjük, amelyet a „kedvenc_színek” jelöl. Aztán van néhány új színünk, amelyeket szeretnénk felvenni az „additional_colors” listába. A „+=” operátor segítségével az új színeket kombináljuk a meglévő kedvenceinkkel, módosítva a „kedvenc_színek” listát.
A művelet után, amikor kinyomtatjuk a „Frissített kedvenc színeinket”, a következő eredményt láthatjuk:
4. példa: A „*” operátor használata
A „*” operátor használható a lista replikációjához. De ha listákra alkalmazza, összefűzheti azokat az elemek ismétlésével.
Íme egy példa:
eredeti_lista = [ 1 , 2 , 3 ]összefűzött_lista = eredeti_lista * 3
nyomtatás ( összefűzött_lista )
Ebben az esetben egy „eredeti_listával” kezdjük, amely tartalmazza az [1, 2, 3] elemeket. A „*” operátor használatával létrehozunk egy új listát, amely a „concatenated_list”, amely az eredeti lista elemeinek három ismétlődéséből áll.
Bár ez a megközelítés kevésbé gyakori az összefűzésnél, bemutatja a Python operátorainak rugalmasságát.
5. példa: Az Itertools.chain() függvény alkalmazása
Az itertools.chain() függvény az „itertools” modul része, és az iterálható elemek (például listák, sorok vagy más iterálható objektumok) egyetlen „iterable”-ba történő összefűzésére szolgál. Más összefűzési módszerekkel ellentétben az itertools.chain() nem hoz létre új listát, hanem egy iterátort hoz létre a bemeneti iterable elemek elemei felett.
tól től itertools import láncL1 = [ 1 , 2 , 3 ]
L2 = [ 'x' , 'és' , 'Val vel' ]
concatenated_iterable = lánc ( L1 , L2 )
eredmény_lista = lista ( concatenated_iterable )
nyomtatás ( eredmény_lista )
Az adott példában két listánk van – az „L1” a számértékeket [1, 2, 3], az „L2” pedig az alfabetikus karaktereket ['x', 'y', 'z'] tartalmazza. Az itertools.chain() függvény használatával ezeket a listákat egyetlen iterálhatóvá fűzzük össze, amelyet a „concatenated_iterable” képvisel. A list() függvény ezután az iterálható listává alakítja, amely a kombinált listát eredményezi [1, 2, 3, 'x', 'y', 'z'].
6. példa: Listaszeletelés
Az indexek tartományának megadásával a listaszeletelés egy olyan technika, amely lehetővé teszi a lista egy részhalmazának lekérését. Ez magában foglalja a kettőspont (:) operátor használatát a szögletes zárójelben a kezdési, leállítási és opcionálisan lépésértékek jelzésére.
Íme a példakód:
tényleges_lista = [ 1 , 2 , 3 , 4 , 5 ]szeletelt_lista = tényleges_lista [ 1 : 4 ]
nyomtatás ( szeletelt_lista )
Az illusztrációt egy eredeti számlistával kezdjük, amelyet „actual_list”-ként jelölünk, és amely az [1, 2, 3, 4, 5] elemeket tartalmazza. A lista egy meghatározott szegmensét bontjuk ki a listaszeletelés használatával, amely a Python hatékony funkciója. Ebben az esetben az „actual_list[1:4]” szelet használatos, amely az 1-es indextől a 3-as indexig választja ki az elemeket (de nem a 4-es indexből). Az eredmény egy új lista, a „sliced_list”, amely tartalmazza a szeletelt részt [2, 3, 4].
7. példa: Összefűzés a Zip() függvénnyel
A zip() függvény több iterálható elemet kombinál, és a megfelelő elemekből párokat vagy sorokat hoz létre. Az egyes iterációk ugyanazon indexhez tartozó elemeit használják fel ezeknek a pároknak a létrehozására.
hallgatók = [ 'Alice' , 'Bob' , 'Charlie' ]évfolyamok = [ 85 , 92 , 78 ]
tanulói_osztályzati_párok = postai irányítószám ( hallgatók , évfolyamok )
result_dict = diktálja ( tanulói_osztályzati_párok )
nyomtatás ( 'Diák-osztálypárok:' , result_dict )
Ebben a példában a zip() függvény párosítja a tanulók neveit a „tanulók” listából a hozzájuk tartozó osztályzatokkal a „grades” listából, ami egy szótárat eredményez, amelyben minden tanuló a megfelelő osztályzatához van társítva.
Következtetés
Összefoglalva, a Python számos módot kínál a listák összefűzésére, mindegyiknek megvannak a maga előnyei. A különféle módszerek felfedezése során, az egyszerű „+” operátortól az árnyaltabb zip() függvényig, nyilvánvalóvá vált, hogy a Python különféle programozási stílusokat és preferenciákat tesz lehetővé. Az aktuális munkától függően olyan tényezők, mint az olvashatóság, a memória hatékonysága és a feldolgozott adatok típusa határozzák meg, hogy melyik módszer a legjobb.