Форум сайта python.su
0
Доброго времени суток. Не совсем понятно для каких элементов последовательности этот срез?
>>> s=("spam") >>> s[:0] ''
>>> s[0:0]==s[:0] True >>> (s[0:0]==s[:0])!=s[0] True
Отредактировано Арртем (Авг. 6, 2013 23:44:38)
Офлайн
221
>>> s='qwerty' >>> >>> s[:0] '' >>> s[0:0] '' >>> s[0:1] 'q' >>> s[0] 'q'
Офлайн
0
Просто если значение выходит за пределы строки обычно выдается ошибка, например
s[10]
s[:0]
Отредактировано Арртем (Авг. 7, 2013 00:02:58)
Офлайн
857
Арртема что там за скобки ?s=("spam")
Арртемэто не -0, а срез с нулевого по нулевой, не включая нулевой
ведь формально это значение -0
>>> s = 'abc' >>> s[0:0] '' >>> s[1:1] '' >>> s[2:2] '' >>> s[3:len(s)] '' >>> s[10:len(s)] '' >>>
>>> s[slice(0, 0)] '' >>> s[slice(10, 15)] '' >>> s[slice(0, 3)] 'abc' >>>
Отредактировано py.user.next (Авг. 7, 2013 01:45:44)
Офлайн
0
Поправьте меня пожалуйста.
Т.е объект
"spam"
s[0:0]
Отредактировано Арртем (Авг. 7, 2013 09:56:00)
Офлайн
568
Арртемоткуда Вы пустые строки выдумали?
состоит из односимвольных строк чередующихся с пустыми строками
Офлайн
63
FishHook
FishHookМне самому интересно. Только что прочитал.
откуда Вы пустые строки выдумали?
Отредактировано 4kpt (Авг. 7, 2013 10:34:20)
Офлайн
568
Арртем, тебе же уже сказали, что
s[0:0]
s[2:1]
Офлайн
63
Арртем
А как Вы тогда поясните это:
>>> str_ = "123" >>> str_[100:200] >>> ''
Отредактировано 4kpt (Авг. 7, 2013 10:39:10)
Офлайн
16
Арртем
Пользуюсь Марк Лутц 4-е изд. “Изучаем питон”. Если можно укажите ссылку на страницу в книге
Арртем
В срезевторой индекс 0 после двоеточия имеет больший приоритет чем первый индекс 0 до двоеточия, т.к именно он заставляет интерпретатор выводить пустую строку, а не ошибку или другое значение.s[0:0]

АрртемИ данное утверждение вполне себе истинно, что естественно. Любая величина + пустота = любая величина. Можно проверить:
состоит из односимвольных строк чередующихся с пустыми строками?
>>> s = 's'+''+'p'+''+'a'+''+'m' >>> s 'spam'
>>> list(s) ['s', 'p', 'a', 'm']
Отредактировано alexbadaloff (Авг. 7, 2013 12:00:42)
Офлайн