Maglista ng interseksyon sa Python

List Intersection Python



Maraming mga variable ng bagay ang umiiral sa sawa upang mag-imbak ng iba't ibang mga uri ng data. Ang listahan ay isa sa mga variable na ito at maaaring mag-imbak ng iba't ibang mga uri ng data para sa iba't ibang mga pangangailangan. Minsan, kailangan nating maghanap ng mga karaniwang, hindi pangkaraniwan, o kapwa karaniwang at hindi karaniwang mga item ng data mula sa maraming listahan para sa mga hangarin sa pagprograma. Naglalaman ang Python ng maraming mga built-in na pag-andar at operator na maaaring gumanap ng mga ganitong uri ng gawain para sa mga hanay ng Python. Ang paghahanap ng karaniwang data mula sa maraming listahan ay tinatawag na intersection ng listahan, ngunit walang operator o built-in na pag-andar para sa mga listahan tulad ng mga set upang mahanap ang karaniwang mga item ng data mula sa maraming mga listahan. Ipapakita sa iyo ng tutorial na ito kung paano mag-intersect ng mga listahan sa Python.

Interseksyon

Bago simulan ang tutorial na ito, ipapaliwanag ang konsepto ng intersection. Sa ibaba, dalawa ang ibinigay bilang isang halimbawa:







Listahan1= [4, 7, 2. 3, 9, 6, labing-isang]
Listahan2= [6, 5, 1, dalawampu, 9, 7, 4, 3]

Matapos ilapat ang intersection, kung ang resulta ay nakaimbak sa isa pang listahan, marahil ay pinangalanang List3, magkakaroon ito ng sumusunod na data.



Listahan3= [4, 6, 7, 9]

Ang grapikong representasyon ng List3 ay ipinapakita sa ibaba:







Halimbawa 1: Pag-intersect ng Mga Listahan sa pamamagitan ng itinakdang () Pamamaraan

Ipinapakita ng sumusunod na halimbawa kung paano ka maaaring mag-intersect ng dalawang listahan gamit ang itakda() pamamaraan at ang & operator Dalawang listahan, pinangalanang list1 at list2, ay idineklara dito. Ang parehong mga listahan na ito ay naglalaman ng mga halagang bilang. Ang pangatlong listahan ay nabuo sa pamamagitan ng pag-convert ng list1 at listahan 2 sa hanay sa pamamagitan ng hanay () pamamaraan at paglalapat ng intersection sa pamamagitan ng paggamit ng & operator Susunod, ang mga halaga ng tatlong listahan ay nakalimbag.

#! / usr / bin / env python3
# Tukuyin ang listahan1
listahan1= [22, 8, Apat lima, labing-isang, 3. 4, 9, dalawampu, 7]
# Tukuyin ang listahan2
listahan2= [12, 9, dalawampu, 78, 53, 8, 2, 30,31]
# Lumikha ng list3 sa pamamagitan ng intersecting list1 at list2
listahan3= listahan(itakda(listahan1)&itakda(listahan2))
# Listahan ng pag-print1
mag-print('Ang mga halaga ng list1: n',listahan1)
# Listahan ng pag-print2
mag-print('Ang mga halaga ng list2: n',listahan2)
# Listahan ng pag-print3
mag-print('Ang mga halaga ng list3 pagkatapos ng intersecting list1 at list2: n',listahan3)

Paglabas



Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Tatlong halaga ang karaniwan sa parehong listahan. Ang mga halagang ito ay 8, 9, at 20, at ipinapakita sa nilalaman ng pangatlong listahan.

Halimbawa 2: Pag-intersect ng Mga Listahan sa pamamagitan ng intersection () na Paraan

Walang direktang, built-in na pamamaraan para sa listahan ng bagay upang malaman ang mga halaga ng intersection sa pagitan ng dalawang listahan. Gayunpaman, ang hanay ay may built-in na pamamaraan, na pinangalanan interseksyon() , upang malaman ang mga karaniwang halaga sa pagitan ng mga set. Isang pasadyang pagpapaandar, na pinangalanan Mga Listahan ng intersection () , ay tinukoy sa sumusunod na script upang malaman ang mga karaniwang halaga sa pagitan ng dalawang listahan. Ang isang limitasyon sa hanay na ito ay maaari itong maglaman ng data na bilang lamang. Ang isang listahan ng variable ay maaaring maglaman ng iba't ibang mga uri ng data string, kabilang ang bilang, boolean, atbp. Sa script, listahan1 at listahan2 naglalaman ng lahat ng data ng string kabilang ang at teksto. I-print ng script ang lahat ng mga karaniwang halaga ng string at numeric sa pagitan listahan1 at listahan2 .

#! / usr / bin / env python3

# Tukuyin ang pagpapaandar upang ibalik ang intersection ng dalawang listahan
defintersectLists(listahan1,listahan2):
bumalik ka itakda(listahan1).interseksyon(listahan2)

# Tukuyin ang listahan1
listahan1= ['Kamusta','7','8','10','2']
# Tukuyin ang listahan2
listahan2= ['8','3. 4','Kamusta','2','dalawampu't isa','1',10]
'' 'Tumawag sa pasadyang pagpapaandar upang maiimbak
ang resulta ng intersection ng list1 at list2
sa list3 ''

listahan3=intersectLists(listahan1,listahan2)
# Listahan ng pag-print1
mag-print('Ang mga halaga ng list1: n',listahan1)
# Listahan ng pag-print2
mag-print('Ang mga halaga ng list2: n',listahan2)
# Listahan ng pag-print3
mag-print('Ang mga halaga ng list3 pagkatapos ng intersecting list1 at list2: n',listahan3)

Paglabas

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Dito, ang mga karaniwang halaga sa pagitan ng dalawang listahan ay '2', '8', at 'Hello.'

Halimbawa 3: Pag-intersect ng Mga Listahan sa pamamagitan ng loop na Paraan

Ang nakaraang dalawang halimbawa ay nagpapakita ng intersection ng listahan gamit ang mga built-in na pag-andar. Ang sumusunod na halimbawa ay nagpapakita ng intersection ng listahan nang walang anumang built-in na pagpapaandar. Maaari itong makamit sa pamamagitan ng paggamit ng loop. Dalawang listahan ng data ng teksto ang ipinahayag sa iskrip. Ang para sa ginagamit ang loop dito upang malaman ang karaniwang mga halaga ng teksto sa pagitan listahan1 at listahan2, at na nakaimbak sa variable, listahan3 . Susunod, ang mga halaga ng tatlong variable ng listahan na ito ay nakalimbag.

#! / usr / bin / env python3

# Tukuyin ang listahan1
listahan1= ['Farhan','Abir','Akash','Meena','Mazher']
# Tukuyin ang listahan2
listahan2= ['Meena','Moyna','Nobel','Mas malapit','Abir','Farheen']
# Hanapin ang intersection gamit ang para sa loop at iimbak ang resulta sa list3
listahan3= [halagapara sahalagasalistahan1kunghalagasalistahan2]

# Listahan ng pag-print1
mag-print('Ang mga halaga ng list1: n',listahan1)
# Listahan ng pag-print2
mag-print('Ang mga halaga ng list2: n',listahan2)
# Listahan ng pag-print3
mag-print('Ang mga halaga ng list3 pagkatapos ng intersecting list1 at list2: n',listahan3)

Paglabas

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Dito, ang mga karaniwang halaga ng teksto ng dalawang listahan ay 'Abir' at 'Meena.'

Halimbawa 4: Pagsalok ng Simple at Pugad na Mga Listahan sa pamamagitan ng pamamaraan ng filter ()

Ipinapakita ng sumusunod na halimbawa ang intersection sa pagitan ng isang simpleng listahan at isang nakapugad na listahan. Ang filter () pamamaraan at lambda Ang pagpapaandar ay ginagamit sa script upang maisagawa ang intersection sa pagitan ng list1 at list2. Kapag ang isang listahan ay naglalaman ng isa o higit pang mga listahan bilang mga item sa listahan, kung gayon ang listahan ay tinawag na isang nakasarang listahan. Dito, listahan1 ay isang simpleng listahan, at listahan2 ay isang pugad na listahan, habang listahan3 naglalaman ng mga halaga ng intersection ng listahan1 at listahan2 .

#! / usr / bin / env python3

# Tukuyin ang isang simpleng listahan
listahan1= [22, 8, Apat lima, labing-isang, 3. 4, 9, dalawampu, 7]
# Tukuyin ang isang nakapugad na listahan
listahan2= [[12, 9, dalawampu], [78, labing-isang, 53, 8], [2, 30, 31, Apat lima]]
# Lumikha list3 sa pamamagitan ng intersecting list1 at list2 gamit ang filter ()
listahan3= [listahan(salain(lambdan: nsalistahan1,pahid)) para sapahidsalistahan2]

# Listahan ng pag-print1
mag-print('Ang mga halaga ng list1: n',listahan1)
# Listahan ng pag-print2
mag-print('Ang mga halaga ng list2: n',listahan2)
# Listahan ng pag-print3
mag-print('Ang mga halaga ng list3 pagkatapos ng intersecting list1 at list2: n',listahan3)

Paglabas

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script. Naglalaman ang variable ng list2 ng tatlong iba pang mga listahan bilang mga item sa listahan. Kaya, ipinapakita ng resulta ang intersection sa pagitan ng tatlong mga sub-list ng list2 na may list1.

Konklusyon

Ang intersection ng listahan ay isang kapaki-pakinabang na paraan upang makahanap ng mga karaniwang halaga sa pagitan ng mga listahan na naglalaman ng isang malaking bilang ng mga item sa listahan. Ang mga pamamaraan para sa pagsasagawa ng listahan ng intersection na may at walang mga built-in na function ay ipinapakita sa tutorial na ito. Matapos basahin ang artikulong ito, ang konsepto ng intersection ng listahan ay dapat na malinaw, at dapat mong mailapat ang intersection ng listahan sa iyong script sa pamamagitan ng pagsunod sa anumang paraan na ipinakita sa tutorial na ito.