Како користити метод сплит() у Питхон-у

У овом водичу ћете научити како да користите Питхон-ов метод сплит() да бисте стринг поделили на листу стрингова.

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

До краја туторијала научићете следеће:

  • како функционише метода .сплит().
  • како да прилагодите поделу помоћу параметара сеп и максплит

Почнимо!

Синтакса методе сплит() у Питхон-у

Ево опште синтаксе за коришћење Питхон-ове сплит() методе на било ком важећем стрингу:

string.split(sep, maxsplit)

# Parameters:
sep, maxsplit

# Returns:
A list of strings

Овде стринг може бити било који важећи Питхон стринг.

Параметри сеп и максплит су опциони.

  • сеп означава сепаратор на који желите да поделите стринг. Требало би да буде наведен као стринг.
  • максплит је цео број који одређује колико пута желите да поделите стринг.

Њихове подразумеване вредности се користе када не наведете опционе параметре.

  • Када не наведете експлицитно вредност сеп, размак се користи као подразумевани сепаратор.
  • Када не наведете вредност за максплит, подразумевано је -1, што значи да ће стринг бити подељен на сва појављивања сепаратора.

Изражавање синтаксе једноставним језиком:

Метода сплит() дели стринг максплит број пута на појављивању сепаратора наведеног параметром сеп.

Сада када смо научили синтаксу методе Питхон сплит() хајде да наставимо са кодирањем неких примера.

  Како променити осе графикона у Гоогле табелама

Поделите Питхон стринг на листу стрингова

Ако имате Питхон 3 инсталиран на вашој машини, можете кодирати помоћу овог упутства тако што ћете покренути следеће исечке кода у Питхон РЕПЛ-у.

Да бисте покренули РЕПЛ, покрените једну од следећих команди са терминала:

$ python
$ python -i

▶ Такође можете испробати ове примере на вдзвдз-овом Питхон едитору.

У овом примеру пи_стр је Питхон стринг. Позовимо методу .сплит() на пи_стр без икаквих параметара и посматрамо излаз.

py_str = "Learn how to use split() in Python"
py_str.split()

# Output
['Learn', 'how', 'to', 'use', 'split()', 'in', 'Python']

Као што се види горе, стринг је подељен на све појаве размака.

Раздвојите Питхон стринг на појаву сепаратора

#1. Као први пример, поделимо стринг пи_стр са двоструким доњим цртама (__) као сепаратором.

py_str = "All__the__best"
py_str.split(sep='__')

# Output
['All', 'the', 'best']

#2. Узмимо још један пример. Овде пи_стр има три реченице, од којих је свака завршена тачком (.).

py_str = "I love coding. Python is cool. I'm learning Python in 2022"
py_str.split(sep='.')

# Output
['I love coding', ' Python is cool', " I'm learning Python in 2022"]

▶ Када позовемо метод .сплит() на овом стрингу, са ‘.’ као сепаратор, резултујућа листа има три реченице, као што се види у горњој ћелији кода.

#3. Хајде да поставимо неколико питања:

  • Шта се дешава када се сепаратор никада не појави у низу?
  • Како ће доћи до раздвајања у овом случају?

Ево примера:

Покушавамо да поделимо пи_стр на појаву звездице

py_str = "This line contains no asterisk."
py_str.split(sep='*')

# Output
['This line contains no asterisk.']

— што се не дешава.

Пошто се у овом случају не може извршити подела, резултујућа листа садржи цео стринг.

У следећем одељку ћемо видети како можемо да користимо методу сплит() на садржају текстуалне датотеке.

Поделите садржај Питхон датотеке

Када радите са текстуалним датотекама у Питхон-у, можда ћете морати да поделите садржај датотеке – на основу сепаратора – ради лакше обраде.

  Како играти емулиране игре на свом Стеам деку помоћу ЕмуДецк-а

Ево примера текстуалне датотеке:

with open('sample.txt') as f:
  content = f.read()
  str_list= content.split(sep='...')
  for string in str_list:
    print(string,end='')

Исечак кода у наставку показује како да користите сплит на садржају текстуалне датотеке узорка.

  • Горњи код ради следеће:
  • Користи са управљачем контекста за отварање и рад са текстуалном датотеком ‘сампле.ткт’.
  • Чита садржај датотеке помоћу методе .реад() на објекту датотеке ф.
  • Дели садржај о појави сепаратора (…) у листу стр_лист.

Пролази кроз стр_лист да би приступио сваком низу и одштампао га.

# Output
This is a sample text file
It contains info on
Getting started with <a href="https://techblog.co.rs.com/pcap-certification/">programming in Python</a>
According to the 2022 StackOverflow Developer Survey
Python is one of the most-loved programming languages
So what are you waiting for? Start learning!

Ево излаза.

Као вежбу, можете покушати да поделите садржај текстуалне датотеке на било који сепаратор по избору.

Поделите Питхон стринг на делове

Када једном поделите низ, добићете два дела; ако га поделите двапут, добићете три.

📋 Генерално, када поделите низ К пута, добићете К + 1 комада.

Ово је илустровано у наставку.

Како функционише максплит параметар (Слика аутора)

py_str = "Chunk#1  I'm a larger chunk, Chunk#2"
py_str.split(maxsplit=1)

# Output
['Chunk#1', "I'm a larger chunk, Chunk#2"]

#1. Поставили смо максплит на 1. Нисмо навели сепаратор, тако да ће се подела подразумевано десити на празнинама.

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

py_str = "Chunk#1 Chunk#2 I'm one large Chunk#3, even though I contain whitespaces"
py_str.split(maxsplit=2)

# Output
['Chunk#1',
 'Chunk#2',
 "I'm one large Chunk#3, even though I contain whitespaces"]

#2. Хајде да повећамо вредност максплит на 2 и посматрамо како се подела дешава за следећи пример.

Као иу претходном примеру, вредност максплит одлучује о броју направљених подела. Добијамо три дела, поделе након првог и другог појављивања размака.

#3. Шта се дешава ако поставите максплит на вредност већу од броја појављивања сепаратора?

py_str = "There, are, only, 4, commas"
py_str.split(maxsplit=8)

# Output
['There,', 'are,', 'only,', '4,', 'commas']

У следећој ћелији кода, поставили смо максплит на 8 када стринг садржи само четири зареза.

  Како сортирати по датуму у Мицрософт Екцел-у

Овде метода сплит дели пи_стр на сва четири појављивања зареза. Чак и ако покушате да поставите максплит на вредност мању од -1, рецимо, -7, подела ће бити обављена за сва појављивања сепаратора.

Затим, хајде да саставимо све што смо научили и користимо оба параметра сеп максплит.

Поделите Питхон стринг на делове на сепаратору

py_str = "Chunk#1, Chunk#2, I'm one large Chunk#3, even though I contain a ,"
py_str.split(sep = ',',maxsplit=2)

# Output
['Chunk#1', ' Chunk#2', " I'm one large Chunk#3, even though I contain a ,"]

#1. Претпоставимо да треба да поделимо стринг пи_стр на три дела када се појави зарез (,). Да бисмо то урадили, можемо поставити вредност сеп на ‘,’ и вредност максплит на 2 у позиву методе.

Као што се види на излазу, подела се дешава два пута на прва два појављивања сепаратора.

#2. Сепаратор за раздвајање не мора увек да буде посебан знак. То може бити низ специјалних знакова, попут двоструких доњих црта које смо раније користили, или чак може бити подниз.

py_str = "You need to learn data structures, learn algorithms, and learn more!"
py_str.split(sep = 'learn',maxsplit=2)

# Output
['You need to ', ' data structures, ', ' algorithms, and learn more!']

Хајде да поставимо стринг ‘леарн’ као аргумент сеп и видимо како се подела дешава за различите вредности максплит-а. Овде смо поставили максплит на 2.

py_str = "You need to learn data structures, learn algorithms, and learn more!"
py_str.split(sep = 'learn',maxsplit=-1)

# Output
['You need to ', ' data structures, ', ' algorithms, and ', ' more!']

#3. Ако желите да поделите пи_стр на сва појављивања стринга ‘леарн’, можемо позвати ову методу .сплит() постављањем сеп = ‘леарн’—без параметра максплит. Ово је еквивалентно експлицитном постављању вредности максплит на -1, као што је приказано у ћелији кода испод.

Видимо да се подела дешава у свим појавама ‘учити’.

Окончање

Надам се да сте сада разумели како да користите метод .сплит() са Питхон стринговима.

  • Ево резимеа овог упутства:
  • Питхон-ов уграђени .сплит() метод дели стринг на листу стрингова.
  • Користите стринг.сплит() да поделите стринг на сва појављивања подразумеваног сепаратора, размака.

Користите стринг.сплит(сеп,максплит) да поделите стринг максплит број пута када се појави сепаратор сеп. Добијена листа има максплит+1 ставке.

Као следећи корак, можете научити како да проверите да ли су Питхон стрингови палиндроми или анаграми.