amarao (amarao_san) wrote,
amarao
amarao_san

мелкое замечание в питоне

В питоне подстрока задаётся слайсом: "string"[a:b]. Если в качестве b указать отрицательное число, то считаться она будет "с конца". Т.е. "корова"[:-1]=="коров".

Проблема в том, что не существует некоего числа, которое бы означало "минус ноль" для параметра b. Т.е. говорила бы "до самого конца строки".

При этом, указать подобный синтакис руками мы можем: "корова"[1:] == "орова".

А вот иметь параметр, который бы мы могли передать - нет. Разумеется, мы можем передать len(string) - длину строки. Но её ещё вычислять надо. В сочетании с rfind (поиск справа) получается совсем некошерно:

file_name_without_extension=filename[:filename.rfind(".")] - работает при наличии расширения, но не работает при его отсутствии (rfind для ненайденой строки отдаёт -1).
Subscribe

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments