Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 20, 2021 18:20:29

katerina090590
Зарегистрирован: 2021-08-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

Например, есть код for i in range(len(list) -1). Можете обьяснить когда нужно ставить -1, а когда нет? Не понимаю разницы. Иногда -1 ставится с len, иногда нет.

Офлайн

#2 Авг. 20, 2021 19:14:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

в питоне так вообще на пишут ни с единицей ни без.
сразу итерируются по последовательностям.

 for i in "abc":
   ....
for i,j in zip("abc","def"):
    ..... 



Офлайн

#3 Авг. 20, 2021 19:44:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

katerina090590
Можете обьяснить когда нужно ставить -1, а когда нет?
-1 ставится, когда не нужно доходить до последнего элемента массива и нужно дойти только до предпоследнего элемента массива. А происходит это, когда есть два соседних элемента массива, которые сравниваются между собой. Когда сравниваешь элемент с элементом, который стоит справа от него, индексы у них различаются на единицу. Но когда доходишь до последнего элемента, то справа элементов нет; соответственно, обращение по индексу к элементу, которого нет, приведёт к ошибке. Чтобы этого не произошло, мы доходим только до предпоследнего элемента, у которого справа точно есть элемент. Сравнения соседних элементов в массиве происходят не всегда, поэтому доходим до предпоследнего элемента тоже не всегда. Оттуда и len(…) вместо len(…)-1 .

doza_and
в питоне так вообще на пишут ни с единицей ни без.
сразу итерируются по последовательностям.
Ну, с матрицами поработай так. В итоге придёшь к индексам, как в старые добрые 70-е. Иначе всё это будет смотреться не ахти, слишком запутанно.



Отредактировано py.user.next (Авг. 20, 2021 19:46:00)

Офлайн

#4 Авг. 20, 2021 20:05:49

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2751
Репутация: +  184  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

> Можете обьяснить когда нужно ставить -1, а когда нет? Не понимаю разницы. Иногда -1 ставится с len, иногда нет.

Всё очень просто. У коллекций индексы начинаются с 0. По этому значение последнего индекса будет на 1 меньше чем количество его элементов. Вот что бы его получить от len(list) и отнимают 1.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Авг. 21, 2021 01:10:20

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

Rodegast
Всё очень просто. У коллекций индексы начинаются с 0. По этому значение последнего индекса будет на 1 меньше чем количество его элементов. Вот что бы его получить от len(list) и отнимают 1.
Это тут ни при чём. range(len(lst)) и так всё правильно выдаёт.



Офлайн

#6 Авг. 21, 2021 14:55:35

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2751
Репутация: +  184  -
Профиль   Отправить e-mail  

Можете обьяснить разницу между len(list) и len(list) -1

> range(len(lst)) и так всё правильно выдаёт.

Не факт что он это именно с range видел.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version