Питхон

Како поделити жице у Питхону

Како поделити жице у Питхону
Овај чланак ће објаснити како подијелити низове у питхону помоћу метода “сплит ()” и “партитион ()”. Ове методе су посебно корисне ако желите претворити реченицу или групу речи у рашчлањиве и итерабилне типове Питхон. Сви узорци кода у овом водичу тестирани су са Питхон верзијом 3.8.6.

Метод поделе

Метода „сплит ()“ може се користити за поделу речи помоћу сепаратора који је одредио корисник. Враћа листу раздвојених речи без укључивања сепаратора. Ако корисник не наведе сепаратор, размак (један или више) користи се као један сепаратор.

На пример, доњи код ће вратити „['Линук', 'Хинт']“ као излаз:

тект = "Линук Савет"
текст.разделити()

Код испод ће вратити „['ЛинукХинт', 'цом']“ као излаз када „.”Користи се као сепаратор:

тект = "ЛинукХинт.цом "
текст.разделити(".”)

Раздјелник не мора бити један знак. Метода поделе узима два аргумента:

Оба ова аргумента нису обавезна. Као што је горе поменуто, ако аргумент „сеп“ није наведен, размак се користи као сепаратор за раздвајање. Аргумент „максплит“ има подразумевану вредност „-1“ и подразумевано дели све појаве. Размотрите доњи код:

тект = "ЛинукХинт.цо.нас "
текст.разделити(".”)

Вратиће „['ЛинукХинт', 'цо', 'ус']“ као излаз. Ако желите зауставити раздвајање при првом појављивању сепаратора, наведите „1“ као аргумент „максплит“.

тект = "ЛинукХинт.цо.нас "
текст.разделити(".”, 1)

Горњи код ће вратити „['ЛинукХинт', 'цо.ус '] ”као излаз. Само наведите број појављивања у којима желите да се поступак раздвајања заустави као други аргумент.

Имајте на уму да ако постоје узастопни сепаратори, празни низ ће бити враћен за преостале сепараторе након првог раздвајања (када се не користи аргумент „максплит“):

тект = "ЛинукХинт ... цом"
текст.разделити(".")

Горњи код ће вратити „['ЛинукХинт',“, 'цом'] “као излаз. У случају да желите уклонити празне низове са резултујуће листе, можете користити следећу изјаву о разумевању листе:

тект = "ЛинукХинт ... цом"
резултат = текст.разделити(".")
резултат = [ставка за ставку у резултату ако ставка != ""]
испис (резултат)

Добићете „['ЛинукХинт', 'цом']“ као излаз након покретања горњег узорка кода.

Имајте на уму да се метода „сплит ()“ помера слева удесно да би низове поделила у речи. Ако желите да раздвојите низ с десна на лево, користите „рсплит ()“ уместо тога. Његова синтакса, употреба и аргументи су потпуно исти као и метода „сплит ()“.

Ако у низу није пронађен сепаратор док се користе методе „сплит ()“ или „рсплит ()“, оригинални низ се враћа као једини елемент листе.

Метода партиције

Метода “партитион ()” може се користити за раздвајање низова и дјелује идентично методи “сплит ()” с неким разликама. Најуочљивија разлика је у томе што задржава сепаратор и укључује га као ставку у резултирајућу тупле која садржи раздвојене речи. Ово је посебно корисно ако желите да поделите низ у објект који се може итирати (у овом случају скуп) без уклањања оригиналних знакова. Размотрите доњи код:

тект = "ЛинукХинт.цом "
резултат = текст.подела(".")
испис (резултат)

Горњи узорак кода ће вратити „('ЛинукХинт', '.',' цом ') ”као излаз. Ако желите да резултат буде типа листе, уместо њега користите следећи узорак кода:

тект = "ЛинукХинт.цом "
резултат = листа (текст.подела("."))
испис (резултат)

Требали бисте добити „['ЛинукХинт', '.',' цом '] ”као излаз након покретања горњег узорка кода.

Метода „партиција ()“ узима само један аргумент назван „сеп“. Корисници могу одредити сепаратор било које дужине. За разлику од методе „сплит ()“, овај аргумент је обавезан, тако да не можете изоставити сепаратор. Међутим, размак можете навести као сепаратор.

Напомињемо да се метода партиције зауставља при првом појављивању сепаратора. Дакле, ако ваш низ садржи више сепаратора, метода “партитион ()” ће занемарити све остале појаве. Ево примера који то илуструје:

тект = "ЛинукХинт.цо.нас "
резултат = листа (текст.подела("."))
испис (резултат)

Узорак кода ће произвести „['ЛинукХинт', '.',' цо.ус '] ”као излаз. Ако желите раздвојити у свим појављивањима сепаратора и укључити сепаратор на коначну листу, можда ћете морати да користите образац „Регуларни израз“ или „РегЕк“. За горе поменути пример, РегЕк образац можете да користите на следећи начин:

увоз ре
тект = "ЛинукХинт.цо.нас "
резултат = ре.разделити("(\.) ", текст)
испис (резултат)

Добит ћете „['ЛинукХинт', '.',' цо ','.',' ус '] ”као излаз након извршавања горњег узорка кода. Тачкасти знак је избегнут у горе поменутој РегЕк изјави. Имајте на уму да, иако горњи пример ради са једном тачком, можда неће радити са сложеним сепараторима и сложеним низовима. Можда ћете морати да дефинишете свој РегЕк образац у зависности од случаја употребе. Пример је управо поменут овде да бисте добили неку идеју о процесу задржавања сепаратора на коначној листи помоћу РегЕк израза.

Метода „партиција ()“ понекад може оставити празне низове, посебно када сепаратор није пронађен у низу који се дели. У таквим случајевима можете користити изјаве за разумевање листе да бисте уклонили празне низове, као што је објашњено у одељку методе „сплит ()“ изнад.

тект = "ЛинукХинт"
резултат = листа (текст.подела("."))
резултат = [ставка за ставку у резултату ако ставка != ""]
испис (резултат)

Након покретања горњег кода, требало би да добијете „['ЛинукХинт']“ као излаз.

Закључак

За једноставне и једноставне поделе можете користити методе „сплит ()“ и „партитион ()“ да бисте добили итерабилне типове. За сложене низове и сепараторе мораћете да користите РегЕк изразе.

Најбоље игре за ручно праћење
Оцулус Куест је недавно представио сјајну идеју ручног праћења без контролера. Са све већим бројем игара и активности које извршавају подршку формално...
Како приказати ОСД прекривач у целом екрану Линук апликација и игара
Играње игара преко целог екрана или коришћење апликација у режиму целог екрана без ометања може вам одсећи релевантне системске информације видљиве на...
Топ 5 карата за хватање игара
Сви смо видели и волели стримовање играња на ИоуТубе-у. ПевДиеПие, Јакесептицие и Маркиплиер само су неки од најбољих играча који су зарадили милионе ...