Форум сайта python.su
В первом вызове (: mid) выведутся все элементы до mid (не включая сам mid). Во втором все, начиная с mid, до конца.
def mergesorts(arr): if len(arr) < 2: return arr mid = int(len(arr)/2) array_left = mergesorts(arr[:mid]) array_right = mergesorts(arr[mid:]) return merge(array_left, array_right)
Отредактировано DeadInside (Апрель 2, 2019 18:49:17)
Офлайн
Причин тут можно придумать много и среди них, мне не удалось придумать ни одной технической. То есть какого-то принципиального ограничения нет. Кстати, в некоторых языках границы среза можно задавать как “включая”, так и “не включая”
[a:b] # include reft & right borders
(a:b] # include right border
[a:b) # include left border
a[3:5]
[-1:3]
a[:n] + a[n:] == a
Офлайн
Чтобы не путаться, включается или не включается правая граница, запись вида
a[2:5]
Офлайн