Útkereszteződés
Az oktatóanyag megkezdése előtt elmagyarázzuk a kereszteződés fogalmát. Az alábbiakban példaként kettőt adunk meg:
Lista1= [4, 7, 2. 3, 9, 6, tizenegy]
Lista2= [6, 5, 1, húsz, 9, 7, 4, 3]
A metszéspont alkalmazása után, ha az eredményt egy másik, esetleg List3 nevű listában tárolják, akkor a következő adatokat fogja tartalmazni.
Lista3= [4, 6, 7, 9]
A List3 grafikus ábrázolása az alábbiakban látható:
1. példa: Listák metszése a set () metódussal
A következő példa bemutatja, hogyan metszheti két listát a készlet() módszer és a & operátor. Itt két listát, lista1 és lista2 nevet adunk meg. Mindkét lista numerikus értékeket tartalmaz. A harmadik listát a lista1 és a lista 2 halmazon keresztüli átalakításával állítják elő () módszerrel és a metszéspont alkalmazásával & operátor. Ezután kinyomtatja a három lista értékeit.
#!/usr/bin/env python3# Lista meghatározása1
lista1= [22, 8, Négy öt, tizenegy, 3. 4, 9, húsz, 7]
# Lista definiálása2
lista2= [12, 9, húsz, 78, 53, 8, 2, 30,31]
# Lista3 létrehozása a lista1 és lista2 metszésével
lista3= lista(készlet(lista1)&készlet(lista2))
# Lista nyomtatása1
nyomtatás('Az 1. lista értékei: n',lista1)
# Lista nyomtatása2
nyomtatás('A 2. lista értékei: n',lista2)
# Lista nyomtatása3
nyomtatás('A lista3 értékei a lista1 és lista2 metszéspontja után: n',lista3)
Kimenet
A szkript futtatása után a következő kimenet jelenik meg. Három érték közös mindkét listában. Ezek az értékek 8, 9 és 20, és megjelennek a harmadik lista tartalmában.
2. példa: Metsző listák a metszés () metódussal
A listaobjektumnak nincs közvetlen, beépített módszere a két lista közötti metszésértékek megállapítására. A készletnek azonban van egy beépített metódusa, az úgynevezett útkereszteződés() , hogy megtudja a halmazok közös értékeit. Egyéni funkció, elnevezéssel intersectionLists () , a következő parancsfájl határozza meg, hogy megtudja a két lista közös értékeit. Ennek a készletnek az egyik korlátozása az, hogy csak numerikus adatokat tartalmazhat. A listaváltozó különféle típusú adatsorokat tartalmazhat, beleértve a numerikus, logikai értéket stb. A szkriptben lista1 és lista2 tartalmazza az összes karakterlánc -adatot, beleértve a szöveget is. A szkript minden közös karakterlánc- és számértéket kinyomtat lista1 és lista2 .
#!/usr/bin/env python3# Határozza meg azt a függvényt, amely két lista metszéspontját adja vissza
defintersectLists(lista1,lista2):
Visszatérés készlet(lista1).útkereszteződés(lista2)
# Lista meghatározása1
lista1= ['Helló',„7”,'8',„10”,'2']
# Lista definiálása2
lista2= ['8','3. 4','Helló','2','huszonegy','1',10]
'' 'Hívja az egyéni funkciót a tároláshoz
lista1 és lista2 metszéspontja
listába3 ''
lista3=intersectLists(lista1,lista2)
# Lista nyomtatása1
nyomtatás('Az 1. lista értékei: n',lista1)
# Lista nyomtatása2
nyomtatás('A 2. lista értékei: n',lista2)
# Lista nyomtatása3
nyomtatás('A lista3 értékei a lista1 és lista2 metszéspontja után: n',lista3)
Kimenet
A szkript futtatása után a következő kimenet jelenik meg. Itt a két lista közös értékei „2”, „8” és „Hello”.
3. példa: Listák metszése a ciklus módszerrel
Az előző két példa a lista metszését mutatja be beépített függvényekkel. A következő példa bemutatja a lista metszéspontját beépített funkció nélkül. Ezt a hurok használatával érhetjük el. A szkriptben két szöveges adatlista szerepel. Az számára A ciklus itt a közös szövegértékek megállapítására szolgál lista1 és lista2, és amelyeket a változó tárol, lista3 . Ezután ennek a három listaváltozónak az értékei kerülnek kinyomtatásra.
#!/usr/bin/env python3# Lista meghatározása1
lista1= ['Farhan','Abir','Akash','Meena','Mazher']
# Lista definiálása2
lista2= ['Meena','Moyna','Nobel','Közelebb','Abir','Farheen']
# Keresse meg a metszéspontot a ciklus használatával, és tárolja az eredményt a list3 -ban
lista3= [értékszámáraértékban benlista1haértékban benlista2]
# Lista nyomtatása1
nyomtatás('Az 1. lista értékei: n',lista1)
# Lista nyomtatása2
nyomtatás('A 2. lista értékei: n',lista2)
# Lista nyomtatása3
nyomtatás('A lista3 értékei a lista1 és lista2 metszéspontja után: n',lista3)
Kimenet
A szkript futtatása után a következő kimenet jelenik meg. Itt a két lista közös szövegértékei a következők „Abir” és - Meena.
4. példa: Egyszerű és beágyazott listák metszése a szűrő () módszerrel
A következő példa az egyszerű lista és a beágyazott lista metszéspontját mutatja. Az szűrő() módszer és lambda függvényt használják a szkriptben a lista1 és lista2 közötti metszés elvégzésére. Ha egy lista egy vagy több listát tartalmaz listaelemként, akkor a listát beágyazott listának nevezzük. Itt, lista1 egy egyszerű lista, és lista2 egy beágyazott lista, míg lista3 metszéspont értékeit tartalmazza lista1 és lista2 .
#!/usr/bin/env python3# Határozzon meg egy egyszerű listát
lista1= [22, 8, Négy öt, tizenegy, 3. 4, 9, húsz, 7]
# Definiáljon beágyazott listát
lista2= [[12, 9, húsz], [78, tizenegy, 53, 8], [2, 30, 31, Négy öt]]
# Lista3 létrehozása a lista1 és lista2 metszésével a szűrő () használatával
lista3= [lista(szűrő(lambdan: nban benlista1,slist)) számáraslistban benlista2]
# Lista nyomtatása1
nyomtatás('Az 1. lista értékei: n',lista1)
# Lista nyomtatása2
nyomtatás('A 2. lista értékei: n',lista2)
# Lista nyomtatása3
nyomtatás('A lista3 értékei a lista1 és lista2 metszéspontja után: n',lista3)
Kimenet
A szkript futtatása után a következő kimenet jelenik meg. A list2 változó listaelemként három másik listát is tartalmaz. Tehát az eredmény a lista2 e három allistája és a lista1 metszéspontját mutatja.
Következtetés
A lista metszéspontja hasznos módja annak, hogy megtaláljuk a nagy értékű listatelemeket tartalmazó listák közös értékeit. Ebben a bemutatóban bemutatjuk a lista metszésének módszereit beépített funkciókkal és azok nélkül. A cikk elolvasása után a lista metszéspontjának fogalmának világosnak kell lennie, és képesnek kell lennie arra, hogy a lista metszéspontját alkalmazza a szkriptben az oktatóanyagban bemutatott módon.