Как разделить строку в Python?

По моему опыту, к этому лучше всего приближаются как проблема социальной инженерии, а не проблема программирования. Вместо того, чтобы фокусироваться на лишении возможности обмануть, сфокусируйтесь на создании его скучный путем удаления стимулов обмануть. Например, если основной стимул является публично видимыми рекордами, просто ставя задержку, когда рекорды показывают, может значительно уменьшить обман путем удаления цикла позитивных откликов для мошенников.

6
задан Axel 4 November 2017 в 01:50
поделиться

2 ответа

Используйте раздел ('') , который всегда возвращает три элемента в кортеже - первый бит до разделителя, разделитель, а затем биты после него. Слоты в кортеже, которые не применимы, все еще там, просто установлены как пустые строки.

Примеры: «Sico87 - ужасный разработчик на Python» .partition ('') возвращает [«Sico87», ««, «ужасный разработчик на Python»]

«Sico87 - ужасный разработчик на Python ".partition ('') [0] возвращает " Sico87 "

Альтернативный, более сложный способ - использовать split ('', 1) который работает аналогично, но возвращает переменную количество элементов. Он вернет кортеж из одного или двух элементов, первый элемент - это первое слово до разделителя, а второй - остальная часть строки (если есть).

14
ответ дан 8 December 2019 в 02:46
поделиться

Используйте метод split для строк:

>>> "Sico87 is an awful python developer".split(' ', 1)
['Sico87', 'is an awful python developer']

Как это работает:

  1. Каждая строка является объектом. Для строковых объектов определены определенные методы, такие как split в данном случае. Вы вызываете их, используя obj. () .
  2. Первый аргумент split - это символ, разделяющий отдельные подстроки. В данном случае это пробел, '' .
  3. Второй аргумент - это количество раз, которое должно быть выполнено разбиение. В вашем случае это 1 . Если исключить этот второй аргумент, разбиение применяется как можно чаще:

     >>> "Sico87 - ужасный разработчик на Python" .split ('')
    ['Sico87', 'is', 'an', 'ужасно', 'python', 'разработчик']
    

Конечно, вы также можете хранить подстроки в отдельных переменных вместо списка:

>>> a, b = "Sico87 is an awful python developer".split(' ', 1)
>>> a
'Sico87'
>>> b
'is an awful python developer'

Но учтите, что это вызовет проблемы, если некоторые входные данные не содержат пробелов:

>>> a, b = "string_without_spaces".split(' ', 1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
19
ответ дан 8 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: