Python

Seznam križišč v Pythonu

Seznam križišč v Pythonu
V pythonu obstaja veliko spremenljivk predmetov za shranjevanje različnih podatkovnih tipov. The seznam je ena od teh spremenljivk in lahko shrani različne vrste podatkov za različne potrebe. Včasih moramo za namene programiranja najti skupne, občasne ali tako pogoste kot občasne podatkovne postavke z več seznamov. Python vsebuje več vgrajenih funkcij in operaterjev, ki lahko izvajajo te vrste nalog za nabore Python. Iskanje skupnih podatkov iz več seznamov se imenuje presečišče seznamov, vendar za sezname, kot so nabori, ni operatorja ali vgrajene funkcije za iskanje skupnih podatkovnih elementov z več seznamov. Ta vadnica vam bo pokazala, kako sekati sezname v Pythonu.

Križišče

Pred začetkom te vaje bo razložen koncept križišča. Spodaj sta kot primer podana dva:

Seznam1 = [4, 7, 23, 9, 6, 11]
Seznam2 = [6, 5, 1, 20, 9, 7, 4, 3]

Če je rezultat po uporabi presečišča shranjen na drugem seznamu, morda imenovanem List3, bo vseboval naslednje podatke.

Seznam3 = [4, 6, 7, 9]

Grafični prikaz seznama3 je prikazan spodaj:

Primer 1: Presekavanje seznamov prek metode set ()

Naslednji primer prikazuje, kako lahko sekate dva seznama s pomočjo set () metoda in & operater. Tu sta prijavljena dva seznama, imenovana list1 in list2. Oba seznama vsebujeta številske vrednosti. Tretji seznam se ustvari s pretvorbo list1 in seznama 2 v niz prek kompleta() metoda in uporaba presečišča z uporabo & operater. Nato se natisnejo vrednosti treh seznamov.

#!/ usr / bin / env python3
# Določite seznam1
seznam1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Določite seznam2
seznam2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Ustvari seznam3 s sekanjem seznama1 in seznama2
list3 = seznam (set (list1) & set (list2))
# Natisni seznam1
print ("Vrednosti seznama1: \ n", seznam1)
# Natisni seznam2
print ("Vrednosti seznama2: \ n", seznam2)
# Natisni seznam3
print ("Vrednosti seznama3 po preseku seznama1 in seznama2: \ n", seznam3)

Izhod

Po zagonu skripta se prikaže naslednji izhod. Tri vrednosti so skupne za oba seznama. Te vrednosti so 8, 9 in 20 in so prikazane v vsebini tretjega seznama.

Primer 2: Sekajoči se seznami prek metode presečišča ()

Za objekt seznama ni neposredne vgrajene metode za ugotavljanje presečišč med dvema seznamoma. Vendar ima komplet vgrajeno metodo z imenom križišče (), najti skupne vrednosti med sklopi. Funkcija po meri z imenom intersectionLists (), je opredeljen v naslednjem skriptu, da bi ugotovili skupne vrednosti med obema seznamoma. Ena omejitev tega sklopa je, da lahko vsebuje le številčne podatke. Spremenljivka seznama lahko vsebuje različne vrste podatkovnih nizov, vključno s številčnimi, logičnimi itd. V scenariju, seznam1 in seznam2 vsebujejo vse nizovne podatke, vključno z besedilom. Skript bo natisnil vse pogoste nize in številske vrednosti med seznam1 in seznam2.

#!/ usr / bin / env python3
 
# Določite funkcijo za vrnitev presečišča dveh seznamov
def intersectLists (list1, list2):
vrnitev nabora (list1).križišče (seznam2)
 
# Določite seznam1
list1 = ['Pozdravljeni', '7', '8', '10', '2']
# Določite seznam2
list2 = ['8', '34', 'Pozdravljeni', '2', '21', '1', 10]
"Pokliči funkcijo po meri za shranjevanje
rezultat presečišča list1 in seznam2
na seznam3 "
list3 = intersectLists (seznam1, seznam2)
# Natisni seznam1
print ("Vrednosti seznama1: \ n", seznam1)
# Natisni seznam2
print ("Vrednosti seznama2: \ n", seznam2)
# Natisni seznam3
print ("Vrednosti seznama3 po preseku seznama1 in seznama2: \ n", seznam3)

Izhod

Po zagonu skripta se prikaže naslednji izhod. Tu so skupne vrednosti med obema seznamoma '2', '8' in 'Pozdravljeni."

Primer 3: Presekavanje seznamov prek metode zanke

Prejšnja dva primera prikazujeta presečišče seznama z uporabo vgrajenih funkcij. Naslednji primer prikazuje presečišče seznama brez vgrajene funkcije. To lahko dosežemo z uporabo zanke. V skriptu sta navedena dva seznama besedilnih podatkov. The za zanka se tukaj uporablja za iskanje skupnih besedilnih vrednosti med seznam1 in seznam2, in ki so shranjeni v spremenljivki, seznam3. Nato se natisnejo vrednosti teh treh spremenljivk s seznama.

#!/ usr / bin / env python3
 
# Določite seznam1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Določite seznam2
list2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen']
# Z uporabo zanke poiščite križišče in rezultat shranite v seznam3
list3 = [vrednost za vrednost na seznamu1, če je vrednost na seznamu2]
 
# Natisni seznam1
print ("Vrednosti seznama1: \ n", seznam1)
# Natisni seznam2
print ("Vrednosti seznama2: \ n", seznam2)
# Natisni seznam3
print ("Vrednosti seznama3 po preseku seznama1 in seznama2: \ n", seznam3)

Izhod

Po zagonu skripta se prikaže naslednji izhod. Tu so skupne besedilne vrednosti obeh seznamov "Abir" in 'Meena."

Primer 4: Presekanje enostavnih in ugnezdenih seznamov prek metode filter ()

Naslednji primer prikazuje presečišče preprostega in ugnezdenega seznama. The filter () metoda in lambda funkcije se uporabljajo v skriptu za izvedbo presečišča med list1 in list2. Ko seznam vsebuje enega ali več seznamov kot elementov seznama, se seznam imenuje ugnezdeni seznam. Tukaj, seznam1 je preprost seznam in seznam2 je ugnezden seznam, medtem ko seznam3 vsebuje presečišča seznam1 in seznam2.

#!/ usr / bin / env python3
 
# Določite preprost seznam
seznam1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Določite ugnezdeni seznam
seznam2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Ustvari seznam3 s sekanjem seznama1 in seznama2 s pomočjo filtra ()
list3 = [seznam (filter (lambda n: n na seznamu1, seznam)) za seznam na seznamu2]
 
# Natisni seznam1
print ("Vrednosti seznama1: \ n", seznam1)
# Natisni seznam2
print ("Vrednosti seznama2: \ n", seznam2)
# Natisni seznam3
print ("Vrednosti seznama3 po preseku seznama1 in seznama2: \ n", seznam3)

Izhod

Po zagonu skripta se prikaže naslednji izhod. Spremenljivka list2 vsebuje tri druge sezname kot elemente seznama. Rezultat torej prikazuje presečišče med temi tremi pod-seznami list2 in list1.

Zaključek

Presečišče seznamov je koristen način za iskanje skupnih vrednosti med seznami, ki vsebujejo veliko število elementov seznama. V tej vadnici so prikazane metode za izvajanje presečišča seznamov z vgrajenimi funkcijami in brez njih. Po branju tega članka mora biti koncept presečišča seznama jasen in v svojem skriptu bi lahko uporabili presečišče seznama, tako da sledite poljubnim načinom, prikazanim v tej vadnici.

Posnemajte klike miške tako, da v Windows 10 lebdite z miško Clickless Mouse
Uporaba miške ali tipkovnice v napačni drži čezmerne uporabe lahko povzroči veliko zdravstvenih težav, vključno s sevom, sindromom karpalnega kanala i...
S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...
Nadzirajte in upravljajte gibanje miške med več monitorji v sistemu Windows 10
Upravitelj miške z dvojnim zaslonom vam omogoča nadzor in konfiguriranje gibanja miške med več monitorji, tako da upočasni gibanje blizu meje. Windows...