Питхон

Лист Интерсецтион ин Питхон

Лист Интерсецтион ин Питхон
У питхону постоје многе променљиве објекта за чување различитих типова података. Тхе листа је једна од ових променљивих и може да складишти различите врсте података за различите потребе. Понекад за потребе програмирања треба да пронађемо заједничке, неуобичајене или и заједничке и неуобичајене ставке података са више листа. Питхон садржи неколико уграђених функција и оператора који могу да извршавају ове врсте задатака за Питхон скупове. Проналажење заједничких података са више листа назива се пресек листе, али не постоји оператор или уграђена функција за листе попут скупова за проналажење заједничких података са више листа. Овај водич ће вам показати како пресецати листе у Питхону.

Пресек

Пре почетка овог водича биће објашњен концепт пресека. Испод су наведена два примера:

Листа1 = [4, 7, 23, 9, 6, 11]
Листа2 = [6, 5, 1, 20, 9, 7, 4, 3]

Након примене пресека, ако је резултат ускладиштен на другој листи, можда названој Лист3, она ће садржати следеће податке.

Листа3 = [4, 6, 7, 9]

Графички приказ Лист3 приказан је у наставку:

Пример 1: Пресецање листа помоћу методе сет ()

Следећи пример показује како можете пресећи две листе помоћу комплет() метода и & оператер. Овде су декларисане две листе, назване лист1 и лист2. Обе ове листе садрже нумеричке вредности. Трећа листа се генерише претварањем листе1 и листе 2 у скуп путем скупа() метода и примена пресека помоћу & оператер. Затим се штампају вредности три листе.

#!/ уср / бин / енв питхон3
# Дефинисати лист1
лист1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Дефинисати лист2
лист2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Направите листу3 пресијецањем листе1 и листе2
лист3 = листа (сет (лист1) & сет (лист2))
# Штампај листу1
принт ("Вриједности листе1: \ н", листа1)
# Штампање листе2
принт ("Вриједности листе2: \ н", листа2)
# Штампај листу3
принт ("Вриједности листе3 након пресијецања листе1 и листе2: \ н", листа3)

Оутпут

Следећи излаз ће се појавити након покретања скрипте. Три вредности су заједничке за обе листе. Ове вредности су 8, 9 и 20 и приказане су у садржају треће листе.

Пример 2: Пресецање спискова методом пресека ()

Не постоји директна, уграђена метода за објекат листе за откривање пресечних вредности између две листе. Међутим, сет има уграђену методу, названу пресек (), да би се утврдиле заједничке вредности између скупова. Прилагођена функција, названа интерсецтионЛистс (), је дефинисан у следећој скрипти како би се утврдиле заједничке вредности између две листе. Једно ограничење овог скупа је да може садржати само нумеричке податке. Променљива листе може садржати различите врсте низа података, укључујући нумеричке, логичке, итд. У сценарију, лист1 и лист2 садрже све низ података укључујући и текст. Скрипта ће исписати све уобичајене низове и нумеричке вредности између лист1 и лист2.

#!/ уср / бин / енв питхон3
 
# Дефинишите функцију за враћање пресека две листе
деф интерсецтЛистс (лист1, лист2):
повратни сет (лист1).раскрсница (лист2)
 
# Дефинисати лист1
лист1 = ['Здраво', '7', '8', '10', '2']
# Дефинисати лист2
лист2 = ['8', '34', 'Здраво', '2', '21', '1', 10]
„Позовите прилагођену функцију за чување
резултат пресека листе1 и листе2
у листу3 "
лист3 = интерсецтЛистс (лист1, лист2)
# Штампај листу1
принт ("Вриједности листе1: \ н", листа1)
# Штампање листе2
принт ("Вриједности листе2: \ н", листа2)
# Штампај листу3
принт ("Вриједности листе3 након пресијецања листе1 и листе2: \ н", листа3)

Оутпут

Следећи излаз ће се појавити након покретања скрипте. Овде су уобичајене вредности између две листе „2“, „8“ и „Здраво.'

Пример 3: Пресецање листа путем методе петље

Претходна два примера показују пресек листе помоћу уграђених функција. Следећи пример приказује пресек листе без уграђене функције. То се може постићи коришћењем петље. У скрипти су декларисане две листе текстуалних података. Тхе за Петља се овде користи за проналажење уобичајених вредности текста између лист1 и лист2, и који се чувају у променљивој, лист3. Затим се штампају вредности ове три променљиве листе.

#!/ уср / бин / енв питхон3
 
# Дефинисати лист1
лист1 = ['Фархан', 'Абир', 'Акасх', 'Меена', 'Мазхер']
# Дефинисати лист2
лист2 = ['Меена', 'Моина', 'Нобел', 'Нахер', 'Абир', 'Фархеен']
# Пронађите петљу користећи петљу фор и сачувајте резултат у лист3
лист3 = [вредност за вредност на листи1 ако је вредност на листи2]
 
# Штампај листу1
принт ("Вриједности листе1: \ н", листа1)
# Штампање листе2
принт ("Вриједности листе2: \ н", листа2)
# Штампај листу3
принт ("Вриједности листе3 након пресијецања листе1 и листе2: \ н", листа3)

Оутпут

Следећи излаз ће се појавити након покретања скрипте. Овде су уобичајене текстуалне вредности две листе 'Абир' и 'Меена.'

Пример 4: Пресецање једноставних и угнежђених листа помоћу методе филтер ()

Следећи пример приказује пресек између једноставне листе и угнежђене листе. Тхе филтер () метода и ламбда функције користе се у скрипти за спровођење пресека између листе1 и листе2. Када листа садржи једну или више листа као ставке листе, тада се листа назива угнежђена листа. Ево, лист1 је једноставан списак и лист2 је угнежђена листа, док лист3 садржи пресечне вредности од лист1 и лист2.

#!/ уср / бин / енв питхон3
 
# Дефинишите једноставну листу
лист1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Дефинишите угнежђену листу
лист2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Направите листу3 пресијецањем листе1 и листе2 помоћу филтера ()
лист3 = [листа (филтер (ламбда н: н на листи1, листа)) за листу на листи2]
 
# Штампај листу1
принт ("Вриједности листе1: \ н", листа1)
# Штампање листе2
принт ("Вриједности листе2: \ н", листа2)
# Штампај листу3
принт ("Вриједности листе3 након пресијецања листе1 и листе2: \ н", листа3)

Оутпут

Следећи излаз ће се појавити након покретања скрипте. Променљива лист2 садржи још три листе као ставке листе. Дакле, резултат показује пресек између ове три под-листе листе2 и листе1.

Закључак

Пресек листе је користан начин за проналажење заједничких вредности између листа које садрже велики број ставки листе. Методе за извођење пресека листе са и без уграђених функција приказане су у овом упутству. Након читања овог чланка, концепт пресека листе требао би бити јасан и требали бисте бити у могућности да примените пресек листе у својој скрипти пратећи било који начин приказан у овом упутству.

Леви тастер миша не ради у оперативном систему Виндовс 10
Ако уз преносни рачунар или стони рачунар користите наменски миш, али тастер миша не ради у оперативном систему Виндовс 10/8/7 из неких разлога, ево н...
Курсор скаче или се насумично помера док куцате у оперативном систему Виндовс 10
Ако откријете да курсор миша скаче или се сам помера, аутоматски, насумично док куцате на Виндовс преносном рачунару или рачунару, неки од ових предло...
Како да обрнете смер померања миша и додирних табли у оперативном систему Виндовс 10
Миш и Тоуцхпадрачунарство не само да олакшава рад, већ и ефикасније и мање времена. Не можемо замислити живот без ових уређаја, али ипак је чињеница д...