Счетчик просмотров66

split() с аргументом и без

Оглавление
Что делает функцияДва разных поведенияРазделитель — не только пробелОграничение количества частейСвязка с map: главный шаблон ЕГЭПример с ЕГЭ: разбор таблицы (задания 26, 27)Обратная операция: join

Что делает функция

split разрезает строку на части по разделителю и возвращает список строк. Сам разделитель в результат не попадает.

PYTHON-КОД
1
2

Два разных поведения

PYTHON-КОД
1
2
3

 

Без аргумента split разбивает по любым последовательностям пробельных символов — пробелам, табуляциям, переносам строк — и заодно отбрасывает пробелы по краям. С аргументом " " он делит строго по каждому одиночному пробелу, порождая пустые строки.

Практический вывод: для чисел, разделённых пробелами, всегда пиши split() без аргумента.

Разделитель — не только пробел

PYTHON-КОД
1
2
3
4

 

Разделителем может быть и целая подстрока: "a::b".split("::") даёт ['a', 'b'].

Ограничение количества частей

Второй аргумент задаёт максимальное число разбиений: 

PYTHON-КОД
1
2

rsplit делит с конца — удобно, когда нужно отделить последний элемент.

Баннер статьи

Связка с map: главный шаблон ЕГЭ

PYTHON-КОД
1
2
3
4

 

split даёт список строк, map(int, ...) превращает их в числа. Без int любые сравнения будут работать по алфавиту, а не по величине.

Пример с ЕГЭ: разбор таблицы (задания 26, 27)

Данные в этих заданиях идут строками, в каждой — несколько чисел через пробел. Каждая строка превращается в список чисел одним генератором:

PYTHON-КОД
1
2
3
4

Если в строке ровно два числа, удобнее сразу распаковывать по переменным: 

PYTHON-КОД
1
2
3

Обратная операция: join

PYTHON-КОД
1
2
3

join работает только со строками — числа нужно предварительно превратить: " ".join(map(str, nums)).

Оцените статью

Другие статьи по предмету

Другие статьи не найдены