str.split(sep=None, maxsplit=-1)
sep=None
- str
, разделитель. Может содержать как один, так и несколько символов;maxsplit=-1
- int
, сколько раз делить строку. По умолчанию -1
- неограниченно.list
, список подстрок.Метод str.split()
возвращает список слов (подстрок) в строке, используя sep
в качестве разделителя строки str
. Если задан maxsplit
, то выполняется не более maxsplit
разбиений, таким образом, список будет иметь не более maxsplit+1 элементов. Если maxsplit
не указан или равен -1
, то делаются все возможные разделения строки str
.
Если указан разделитель sep
, то последовательные разделители в обрабатываемой строке не группируются вместе, а считаются разделителями пустых подстрок. Аргумент sep
может состоять из нескольких символов. Разбиение пустой строки str
с указанным разделителем возвращает значение ["]
. Например:
# Последовательные разделители не группируются вместе. # и считаются разделителями пустых строк >>> '1,,2'.split (',') # ['1', ", '2']) #Аргумент 'sep' может состоять из нескольких символов. >>> '1<>2<>3'.split ('<>') # ['1', '2', '3']) # Разбиение пустой строки с указанным разделителем. >>> ''.split(';') ['']
Если sep
не указан или задан None
, применяется другой алгоритм разбиения:
Последовательности пробелов рассматриваются как один разделитель и если строка имеет начальные или конечные пробелы, то результат не будет содержать пустых строк в начале или конце. Следовательно, разбиение пустой строки или строки, состоящей только из пробела с разделителем None
, возвращает пустой список []
.
Смотрите так же метод str.rsplit()
, который начинает деление строки справа.
Если необходимо разделить строку на список подстрок по регулярному выражению, то обратите внимание на функцию re.split()
.
>>> '1,2,3'.split(',') # ['1', '2', '3'] >>> '1,2,3'.split(',', maxsplit=1) # ['1', '2,3'] >>> '1,2,,3,'.split(',') # ['1', '2', '', '3', ''] >>> '1 2 3'.split() # ['1', '2', '3'] >>> '1 2 3'.split(maxsplit=1) # ['1', '2 3'] >>> ' 1 2 3 '.split() # ['1', '2', '3'] >>> '--1-3--2'.split('-') # ['', '', '1', '3', '', '2']