Питхон

Како филтрирати листу низова у Питхону

Како филтрирати листу низова у Питхону
Питхон користи тип података са листе за чување више података у секвенцијалном индексу. Ради као нумерички низ других програмских језика. филтер () метода је веома корисна метода Питхона. Једна или више вредности података могу се филтрирати из било ког низа или листе или речника у Питхону методом филтер ().  Филтрира податке на основу било ког одређеног стања. Похрањује податке када услов врати тачно и одбацује податке када враћа нетачно. Како се низ података на листи може филтрирати у Питхону, приказано је у овом чланку на различитим примерима. Морате да користите Питхон 3+ да бисте тестирали примере овог чланка.

Филтрирајте листу низа помоћу друге листе

Овај пример показује како се подаци на листи низова могу филтрирати без употребе било које методе. Листа низа се овде филтрира помоћу друге листе. Овде су две променљиве листе декларисане са именом лист1 и лист2. Вредности лист2 филтрира се коришћењем вредности лист1. Скрипта ће одговарати првој речи сваке вредности од лист2 са вредностима од лист1 и одштампајте оне вредности у којима не постоје лист1.

# Прогласите две променљиве листе
лист1 = ['Перл', 'ПХП', 'Јава', 'АСП']
лист2 = ['ЈаваСцрипт је скриптни језик на страни клијента',
'ПХП је скриптни језик са стране сервера',
'Јава је програмски језик',
'Басх је скриптни језик']
 
# Филтрирајте другу листу на основу прве листе
филтер_дата = [к за к у листи2 ако
све (и није у к за и на листи1)]
 
# Штампање података листе пре филтера и након филтера
принт ("Садржај прве листе:", лист1)
принт ("Садржај друге листе:", лист2)
принт ("Садржај друге листе након филтера:", филтер_дата)

Излаз:

Покрените скрипту. Ево, лист1 не садржи реч 'Баш'. Излаз ће садржати само једну вредност од лист2 то је 'Басх је скриптни језик '.

Филтрирајте листу низа користећи другу листу и прилагођену функцију

Овај пример показује како се листа низа може филтрирати помоћу друге листе и функције прилагођеног филтера. Скрипта садржи две променљиве листе под називом лист1 и лист2. Функција прилагођеног филтера откриће заједничке вредности обе променљиве листе.

# Прогласите две променљиве листе
лист1 = ['90', '67', '34', '55', '12', '87', '32']
лист2 = ['9', '90', '38', '45', '12', '20']
 
# Прогласите функцију за филтрирање података са прве листе
деф Филтер (лист1, лист2):
ретурн [н за н у листи1 ако
било који (м у н за м на списку2)]
 
# Одштампајте податке листе пре филтера и након филтера
принт ("Садржај листе1:", листа1)
принт ("Садржај листе2:", листа2)
принт ("Подаци након филтера", Филтер (лист1, лист2))

Излаз:

Покрените скрипту. У обе променљиве листе постоје 90 и 12 вредности. Следећи излаз ће се генерисати након покретања скрипте.

Филтрирајте листу низа помоћу регуларног израза

Листа се филтрира помоћу све() и било који() методе у претходна два примера. У овом примеру се користи регуларни израз за филтрирање података са листе. Регуларни израз је образац помоћу којег се сви подаци могу претраживати или подударати. 'ре' модул се користи у питхон-у за примену регуларног израза у скрипти. Овде се објављује листа са шифрама предмета. Регуларни израз се користи за филтрирање оних кодова предмета који почињу речју, 'ЦСЕ'. '^'симбол се користи у обрасцима регуларних израза за претрагу на почетку текста.

# Увезите модул ре да бисте користили регуларни израз
увоз ре
 
# Прогласите да листа садржи шифру предмета
сублист = ['ЦСЕ-407', 'ПХИ-101', 'ЦСЕ-101', 'ЕНГ-102', 'МАТ-202']
# Прогласите функцију филтера
деф Филтер (даталист):
# Претражујте податке на основу регуларног израза на листи
ретурн [вал за вал у даталисту
ако ре.претрага (р '^ ЦСЕ', вал)]
# Одштампајте податке филтера
испис (Филтер (сублист))

Излаз:

Покрените скрипту. сублист променљива садржи две вредности које почињу са 'ЦСЕ'. Следећи излаз ће се појавити након покретања скрипте.

Филтрирајте листу низа помоћу ламда израза

Овај пример показује употребу ламда израз за филтрирање података са листе низова. Овде је наведена променљива листе сеарцх_ворд користи се за филтрирање садржаја из текстуалне променљиве са именом текст. Садржај текста претвара се у списак са именом, тект_ворд на основу простора помоћу разделити() метода. ламда израз ће изоставити те вредности из тект_ворд који постоје у сеарцх_ворд и филтриране вредности сачувајте у променљивој додавањем размака.

# Прогласите листу која садржи реч за претрагу
сеарцх_ворд = ["Предавати", "Код", "Програмирање", "Блог"]
# Дефинишите текст у коме ће реч са листе тражити
тект = "Научите програмирање на Питхону са блога Линук Хинт"
# Подијелите текст на основу размака и похраните ријечи на листу
тект_ворд = текст.разделити()
# Коришћењем ламбда израза филтрирајте податке
филтер_тект = ".јоин ((филтер (ламбда вал: вал не и
н сеарцх_ворд, тект_ворд)))
# Одштампајте текст пре филтрирања и након филтрирања
принт ("\ нТекст пре филтрирања: \ н", текст)
принт ("Текст након филтрирања: \ н", филтер_тект)

Излаз:

Покрените скрипту. Следећи излаз ће се појавити након покретања скрипте.

Филтрирајте листу низа методом филтер ()

филтер () метода прихвата два параметра. Први параметар узима име функције или Ниједан а други параметар узима име променљиве листе као вредности. филтер () метода чува те податке са листе ако врати труе, у супротном их одбацује. Ево, Ниједан је дата као прва вредност параметра. Све вредности без лажно биће преузете са листе као филтрирани подаци.

# Прогласите листу микс података
листДата = ['Здраво', 200, 1, 'Свет', Нетачно, Тачно, '0']
 
# Позовите методу филтер () са Ноне и листом
филтередДата = филтер (Ниједан, листДата)
 
# Одштампајте листу након филтрирања података
принт ('Листа након филтрирања:')
за вал у филтрираним подацима:
испис (вал)

Излаз:

Покрените скрипту. Листа садржи само једну лажну вредност која ће бити изостављена у филтрираним подацима. Следећи излаз ће се појавити након покретања скрипте.

Закључак:

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

Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...
Корисни алати за Линук играче
Ако волите да играте игре на Линуку, велика је вероватноћа да сте можда користили апликације и услужне програме попут Вине, Лутрис и ОБС Студио за поб...
ХД Ремастеред игре за Линук које никада раније нису имале Линук издање
Многи програмери и издавачи игара долазе са ХД ремастером старих игара како би продужили живот франшизе, молимо обожаваоце да захтевају компатибилност...