Например, есть код for i in range(len(list) -1). Можете обьяснить когда нужно ставить -1, а когда нет? Не понимаю разницы. Иногда -1 ставится с len, иногда нет.
for i in "abc": .... for i,j in zip("abc","def"): .....
katerina090590-1 ставится, когда не нужно доходить до последнего элемента массива и нужно дойти только до предпоследнего элемента массива. А происходит это, когда есть два соседних элемента массива, которые сравниваются между собой. Когда сравниваешь элемент с элементом, который стоит справа от него, индексы у них различаются на единицу. Но когда доходишь до последнего элемента, то справа элементов нет; соответственно, обращение по индексу к элементу, которого нет, приведёт к ошибке. Чтобы этого не произошло, мы доходим только до предпоследнего элемента, у которого справа точно есть элемент. Сравнения соседних элементов в массиве происходят не всегда, поэтому доходим до предпоследнего элемента тоже не всегда. Оттуда и len(…) вместо len(…)-1 .
Можете обьяснить когда нужно ставить -1, а когда нет?
doza_andНу, с матрицами поработай так. В итоге придёшь к индексам, как в старые добрые 70-е. Иначе всё это будет смотреться не ахти, слишком запутанно.
в питоне так вообще на пишут ни с единицей ни без.
сразу итерируются по последовательностям.
RodegastЭто тут ни при чём. range(len(lst)) и так всё правильно выдаёт.
Всё очень просто. У коллекций индексы начинаются с 0. По этому значение последнего индекса будет на 1 меньше чем количество его элементов. Вот что бы его получить от len(list) и отнимают 1.