„Python“

Sąrašo „Python“ sąrašas

Sąrašo „Python“ sąrašas
„Python“ yra daug objektų kintamųjų, kurie saugo įvairius duomenų tipus. The sąrašą yra vienas iš šių kintamųjų ir gali laikyti skirtingų tipų duomenis skirtingiems poreikiams. Kartais programavimo tikslais iš kelių sąrašų turime rasti bendrų, neįprastų arba bendrų ir neįprastų duomenų elementų. „Python“ yra kelios įmontuotos funkcijos ir operatoriai, kurie gali atlikti tokio tipo „Python“ rinkinių užduotis. Bendrų duomenų paieška iš kelių sąrašų vadinama sąrašų sankirta, tačiau sąrašams, pvz., Rinkiniams, nėra operatoriaus ar integruotos funkcijos, kad būtų galima rasti bendrus duomenų elementus iš kelių sąrašų. Ši pamoka parodys, kaip susikirsti sąrašus „Python“.

Sankryža

Prieš pradedant šią pamoką, bus paaiškinta sankryžos sąvoka. Toliau pateikiami du pavyzdžiai:

1 sąrašas = [4, 7, 23, 9, 6, 11]
2 sąrašas = [6, 5, 1, 20, 9, 7, 4, 3]

Pritaikius sankryžą, jei rezultatas bus saugomas kitame sąraše, galbūt pavadintame „List3“, tada jame bus šie duomenys.

3 sąrašas = [4, 6, 7, 9]

Žemiau parodytas grafinis 3 sąrašo vaizdas:

1 pavyzdys: susikertantys sąrašai naudojant set () metodą

Šis pavyzdys rodo, kaip galite susikirsti du sąrašus naudodami rinkinys () metodas ir & operatorius. Čia deklaruojami du sąrašai, pavadinti „list1“ ir „list2“. Abiejuose šiuose sąrašuose yra skaitinės vertės. Trečiasis sąrašas generuojamas konvertuojant sąrašą1 ir 2 sąrašą į rinkinį per rinkinį() metodas ir sankirtos taikymas naudojant & operatorius. Tada atspausdinamos trijų sąrašų vertės.

#!/ usr / bin / env python3
# Apibrėžkite sąrašą1
sąrašas1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Apibrėžkite sąrašą2
sąrašas2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Sukurkite sąrašą3 susikertant sąrašą1 ir sąrašą2
list3 = sąrašas (rinkinys (sąrašas1) ir rinkinys (sąrašas2))
# Spausdinimo sąrašas
spausdinti ("List1 reikšmės: \ n", list1)
# Spausdinti sąrašą2
spausdinti ("2 sąrašo reikšmės: \ n", 2 sąrašas)
# Spausdinti sąrašą3
spausdinti ("3 sąrašo reikšmės susikertant sąrašą1 ir sąrašą2: \ n", sąrašas3)

Rezultatas

Ši išvestis pasirodys paleidus scenarijų. Trys vertybės yra bendros abiem sąrašams. Šios vertės yra 8, 9 ir 20, ir jos rodomos trečiojo sąrašo turinyje.

2 pavyzdys: susikertantys sąrašai per sankirtos () metodą

Sąrašo objektui nėra tiesioginio integruoto metodo, leidžiančio sužinoti dviejų sąrašų sankirtos vertes. Tačiau rinkinyje yra įmontuotas metodas, pavadintas sankryža (), išsiaiškinti bendras aibių vertybes. Pasirinktinė funkcija, pavadinta sankirtos sąrašai (), yra apibrėžtas šiame scenarijuje, kad sužinotumėte bendras dviejų sąrašų reikšmes. Vienas šio rinkinio apribojimas yra tas, kad jame gali būti tik skaitiniai duomenys. Sąrašo kintamajame gali būti įvairių tipų duomenų eilutės, įskaitant skaitines, logines ir kt. Scenarijuje, sąrašas1 ir sąrašas2 yra visi eilutės duomenys, įskaitant ir tekstą. Scenarijus atspausdins visas eilutes ir skaitines reikšmes tarp jų sąrašas1 ir sąrašas2.

#!/ usr / bin / env python3
 
# Apibrėžkite funkciją, kad būtų grąžinta dviejų sąrašų sankirta
def intersectLists (sąrašas1, sąrašas2):
grąžinimo rinkinys (sąrašas1).sankryža (2 sąrašas)
 
# Apibrėžkite sąrašą1
list1 = ['Sveiki', '7', '8', '10', '2']
# Apibrėžkite sąrašą2
list2 = ['8', '34', 'Sveiki', '2', '21', '1', 10]
"Norėdami išsaugoti, iškvieskite pasirinktinę funkciją
1 ir 2 sąrašo sankirtos rezultatas
į sąrašą3 "
list3 = intersectLists (sąrašas1, sąrašas2)
# Spausdinimo sąrašas
spausdinti ("List1 reikšmės: \ n", list1)
# Spausdinti sąrašą2
spausdinti ("2 sąrašo reikšmės: \ n", 2 sąrašas)
# Spausdinti sąrašą3
spausdinti ("3 sąrašo reikšmės susikertant sąrašą1 ir sąrašą2: \ n", sąrašas3)

Rezultatas

Ši išvestis pasirodys paleidus scenarijų. Čia bendros reikšmės tarp dviejų sąrašų yra „2“, „8“ ir „Labas“."

3 pavyzdys: susikertantys sąrašai per ciklo metodą

Ankstesni du pavyzdžiai rodo sąrašo susikirtimą naudojant įmontuotas funkcijas. Šis pavyzdys rodo sąrašo sankirtą be jokios integruotos funkcijos. Tai galima pasiekti naudojant kilpą. Scenarijuje deklaruojami du tekstinių duomenų sąrašai. The dėl ciklas naudojamas čia norint sužinoti bendras teksto reikšmes tarp sąrašas1 ir sąrašas2, ir kurios saugomos kintamajame, sąrašas3. Tada atspausdinamos šių trijų sąrašo kintamųjų vertės.

#!/ usr / bin / env python3
 
# Apibrėžkite sąrašą1
list1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Apibrėžkite sąrašą2
list2 = ['Meena', 'Moyna', 'Nobelis', 'Naher', 'Abiras', 'Farheen']
# Raskite sankryžą naudodami „loop“ ir išsaugokite rezultatą sąraše3
list3 = [vertės reikšmė sąraše1, jei vertė sąraše2]
 
# Spausdinimo sąrašas
spausdinti ("List1 reikšmės: \ n", list1)
# Spausdinti sąrašą2
spausdinti ("2 sąrašo reikšmės: \ n", 2 sąrašas)
# Spausdinti sąrašą3
spausdinti ("3 sąrašo reikšmės susikertant sąrašą1 ir sąrašą2: \ n", sąrašas3)

Rezultatas

Ši išvestis pasirodys paleidus scenarijų. Čia pateikiamos bendros dviejų sąrašų teksto vertės „Abiras“ ir - Meena."

4 pavyzdys: susikertantys paprasti ir įdėti sąrašai naudojant filtro () metodą

Šis pavyzdys parodo susikirtimą tarp paprasto sąrašo ir įdėtųjų sąrašų. The filtras() metodas ir lambda Funkcija scenarijuje naudojama sankryžai tarp sąrašo1 ir sąrašo2 atlikti. Kai sąraše yra vienas ar keli sąrašai kaip sąrašo elementai, sąrašas vadinamas lizdiniu sąrašu. Čia, sąrašas1 yra paprastas sąrašas ir sąrašas2 yra įdėtas sąrašas, o sąrašas3 yra sankirtos vertės sąrašas1 ir sąrašas2.

#!/ usr / bin / env python3
 
# Apibrėžkite paprastą sąrašą
sąrašas1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Apibrėžkite įdėtą sąrašą
sąrašas2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Sukurkite sąrašą3 susikertant sąrašą1 ir sąrašą2 naudodami filtrą ()
list3 = [sąrašas (filtras (lambda n: n 1 sąraše, slistas)) 2 sąrašo sąrašui]
 
# Spausdinimo sąrašas
spausdinti ("List1 reikšmės: \ n", list1)
# Spausdinti sąrašą2
spausdinti ("2 sąrašo reikšmės: \ n", 2 sąrašas)
# Spausdinti sąrašą3
spausdinti ("3 sąrašo reikšmės susikertant sąrašą1 ir sąrašą2: \ n", sąrašas3)

Rezultatas

Ši išvestis pasirodys paleidus scenarijų. „List2“ kintamajame yra dar trys sąrašai kaip sąrašo elementai. Taigi rezultatas parodo šių trijų sąrašo 2 antrinių sąrašų susikirtimą su sąrašu1.

Išvada

Sąrašų sankirta yra naudingas būdas rasti bendras reikšmes tarp sąrašų, kuriuose yra daug sąrašo elementų. Sąrašo sankirtos su įmontuotomis funkcijomis ir be jų atlikimo būdai parodyti šioje pamokoje. Perskaičius šį straipsnį, sąrašo sankirtos sąvoka turėtų būti aiški, ir jūs turėtumėte sugebėti taikyti sąrašo sankirtą savo scenarijuje, laikydamiesi bet kokio šios mokymo programos nurodyto būdo.

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...