Какова цель двух двоеточий в этом операторе среза строки Python? - PullRequest
13 голосов
/ 18 июня 2009

Например,

str = "hello"
str[1::3]

А где я могу найти это в документации по Python?

1 Ответ

20 голосов
/ 18 июня 2009

in описание последовательностей :

s[i:j:k]    slice of s from i to j with step k

Срез s от i до j с шагом k определяется как последовательность элементов с индексом x = i + n*k такая, что 0 <= n < (j-i)/k. Другими словами, это индексы i, i+k, i+2*k, i+3*k и т. Д., Которые останавливаются при достижении j (но не включая j). Если i или j больше len(s), используйте len(s). Если i или j опущены или None, они становятся «конечными» значениями (конец которых зависит от знака k) . Обратите внимание, k не может быть нулем. Если k равно None, оно рассматривается как 1.

...