Piton

A kereszteződés felsorolása a Pythonban

A kereszteződés felsorolása a Pythonban
Sok objektumváltozó létezik a pythonban különféle adattípusok tárolására. A lista az egyik ilyen változó, és különböző típusú adatokat tárolhat különböző igényekhez. Előfordul, hogy programozási célokra meg kell találnunk a gyakori, nem mindennapi, vagy mind a közös, mind a ritka adatelemeket a több listából. A Python több beépített függvényt és operátort tartalmaz, amelyek képesek ilyen típusú feladatokat végrehajtani a Python halmazok számára. A közös adatok több listából történő felkutatását lista metszéspontnak nevezzük, de nincs olyan operátor vagy beépített függvény a listákhoz, mint a halmazok, amelyek megkeresik a közös adatelemeket több listából. Ez az oktatóanyag megmutatja, hogyan lehet keresztezni a listákat a Pythonban.

Útkereszteződés

A bemutató megkezdése előtt ismertetjük a kereszteződés fogalmát. Az alábbiakban kettőt adunk példaként:

1. lista = [4, 7, 23, 9, 6, 11]
2. lista = [6, 5, 1, 20, 9, 7, 4, 3]

A kereszteződés alkalmazása után, ha az eredményt egy másik listában tárolják, esetleg List3 néven, akkor a következő adatokat tartalmazza.

3. lista = [4, 6, 7, 9]

A 3. lista grafikus ábrázolása az alábbiakban látható:

1. példa: A listák metszése a set () módszerrel

Az alábbi példa bemutatja, hogyan lehet két listát metszeni a készlet() módszer és a & operátor. Két listát, a list1 és a list2 nevet adunk meg itt. Mindkét lista numerikus értékeket tartalmaz. A harmadik lista úgy jön létre, hogy az 1. listát és a 2. listát a halmazon keresztül a halmazba konvertálja() metódus és metszéspont alkalmazása a & operátor. Ezután kinyomtatják a három lista értékét.

#!/ usr / bin / env python3
# Definiálja a listát1
1. lista = [22, 8, 45, 11, 34, 9, 20, 7]
# Define list2
2. lista = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Lista3 létrehozása a lista1 és a lista2 metszéspontjával
list3 = list (set (list1) & set (list2))
# Lista nyomtatása1
print ("Az 1. lista értékei: \ n", 1. lista)
# Lista nyomtatása2
print ("A 2. lista értékei: \ n", 2. lista)
# Lista nyomtatása3
print ("A 3. lista értékei a 1. és 2. lista metszése után: \ n", 3. lista)

Kimenet

A következő kimenet jelenik meg a szkript futtatása után. Három érték közös mindkét listán. Ezek az értékek 8, 9 és 20, és a harmadik lista tartalmában jelennek meg.

2. példa: Metsző listák a metszés () módszerrel

Nincs közvetlen, beépített módszer arra, hogy a listaobjektum megtudja a két lista közötti metszési értékeket. A készletnek azonban van egy beépített módszere, a neve útkereszteződés(), hogy megtudja a halmazok közötti közös értékeket. Egyéni függvény, névvel metszéslisták (), a következő szkript definiálja, hogy megtudja a két lista közötti közös értékeket. Ennek a halmaznak az egyik korlátja, hogy csak numerikus adatokat tartalmazhat. A listaváltozó különféle típusú adatsorokat tartalmazhat, beleértve a numerikus, logikai stb. A forgatókönyvben, lista1 és lista2 tartalmazza az összes karakterláncadatot, beleértve a szöveget is. A szkript kinyomtatja az összes gyakori karakterláncot és numerikus értéket lista1 és lista2.

#!/ usr / bin / env python3
 
# Határozza meg a funkciót két lista metszéspontjának visszaadásához
def intersectLists (lista1, lista2):
return set (lista1).kereszteződés (2. lista)
 
# Definiálja a listát1
list1 = ['Helló', '7', '8', '10', '2']
# Define list2
list2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"A tároláshoz hívja meg az egyéni funkciót
a list1 és a list2 metszéspontjának eredménye
a list3-ba "
list3 = intersectLists (lista1, lista2)
# Lista nyomtatása1
print ("Az 1. lista értékei: \ n", 1. lista)
# Lista nyomtatása2
print ("A 2. lista értékei: \ n", 2. lista)
# Lista nyomtatása3
print ("A 3. lista értékei a 1. és 2. lista metszése után: \ n", 3. lista)

Kimenet

A következő kimenet jelenik meg a szkript futtatása után. Itt a két lista közötti közös értékek: „2”, „8” és „Hello”."

3. példa: Listák metszése a hurok módszerével

Az előző két példa a lista metszését mutatja be beépített függvények segítségével. Az alábbi példa a lista metszését mutatja be beépített funkció nélkül. Ez a hurok használatával érhető el. A szöveges adatok két listáját deklaráljuk a szkriptben. A mert A hurok segítségével itt megtudhatjuk a közös szövegértékeket lista1 és lista2, és amelyeket a változó tárol, lista3. Ezután ennek a három listaváltozónak az értékét kinyomtatjuk.

#!/ usr / bin / env python3
 
# Definiálja a listát1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Define list2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Keresse meg a metszéspontot a loop használatával, és tárolja az eredményt a list3-ban
list3 = [az érték a list1-ben, ha az érték a 2. listában]
 
# Lista nyomtatása1
print ("Az 1. lista értékei: \ n", 1. lista)
# Lista nyomtatása2
print ("A 2. lista értékei: \ n", 2. lista)
# Lista nyomtatása3
print ("A 3. lista értékei a 1. és 2. lista metszése után: \ n", 3. lista)

Kimenet

A következő kimenet jelenik meg a szkript futtatása után. Itt a két lista közös szövegértékei vannak „Abir” és - Meena."

4. példa: Az egyszerű és egymásba ágyazott listák metszése a filter () módszerrel

A következő példa az egyszerű és a beágyazott lista metszéspontját mutatja. A szűrő() módszer és lambda függvényeket használják a szkriptben a list1 és list2 metszéspontjának lebonyolításához. Ha egy lista egy vagy több listát tartalmaz listaelemként, akkor a listát beágyazott listának hívjuk. Itt, lista1 egy egyszerű lista, és lista2 beágyazott lista, míg lista3 metszésértékeit tartalmazza lista1 és lista2.

#!/ usr / bin / env python3
 
# Adjon meg egy egyszerű listát
1. lista = [22, 8, 45, 11, 34, 9, 20, 7]
# Definiált beágyazott lista
2. lista = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Lista3 létrehozása a lista1 és a lista2 metszésével a filter () segítségével
list3 = [lista (szűrő (lambda n: n a list1-ben, slist)) a listához a list2-ben]
 
# Lista nyomtatása1
print ("Az 1. lista értékei: \ n", 1. lista)
# Lista nyomtatása2
print ("A 2. lista értékei: \ n", 2. lista)
# Lista nyomtatása3
print ("A 3. lista értékei a 1. és a 2. lista metszése után: \ n", 3. lista)

Kimenet

A következő kimenet jelenik meg a szkript futtatása után. A list2 változó három másik listát tartalmaz listaelemként. Tehát az eredmény megmutatja a list2 e három allistájának és a list1 metszéspontját.

Következtetés

A lista metszéspontja hasznos módszer arra, hogy megtalálja a közös értékeket a listák között, amelyek nagyszámú listaelemet tartalmaznak. A lista kereszteződésének beépített funkciókkal és anélkül történő végrehajtásának módszerei ebben az oktatóanyagban láthatók. A cikk elolvasása után a lista metszéspontjának egyértelműnek kell lennie, és képesnek kell lennie a lista metszéspontjának alkalmazására a szkriptben az oktatóanyagban bemutatott módon követve.

A legjobb Linux-disztribútorok játékhoz 2021-ben
A Linux operációs rendszer hosszú utat tett meg eredeti, egyszerű, szerver alapú kinézetétől. Ez az operációs rendszer rendkívül javult az elmúlt évek...
Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...
A legjobb játékok kézi követéssel
Az Oculus Quest nemrégiben bemutatta a vezérlés nélküli kézi követés nagyszerű ötletét. Az egyre növekvő számú játékkal és tevékenységgel, amelyek tám...