Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.10.2019
Сообщений: 5

IndexError: list assignment index out of range

13.11.2019, 22:36. Показов 4871. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Spyder показывает ошибку IndexError: list assignment index out of range на 27-й строке, а я ее не вижу. Нумерация ячеек списка в цикле начинается с ноля и заканчивается на (len(l) - 1).

Спасибо

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import numpy as np
import random as rd
import math
 
ar = np.zeros((10, 2)) # создание массива
 
for i in range(0, 10):
    for j in range(0, 2):
        ar[i][j] = rd.randint(0, 10) # заполнение его произвольными числами (координатами точек)
 
l = [] # создание списка который будет хранить попарные расстояния между точками
 
for p in range(0, 10): # цикл сщитает координаты  между точками и добавляет их в список l
    
    x = ar[p][0]
    y = ar[p][1]
 
    for i in range(0, 10):
        result = math.sqrt((ar[i][0] - x)**2 + (ar[i][1] - y)**2)
        if result == 0:
            continue
        elif result != 0:
            l.append(result)
 
counter = 0
for i in range(0, len(l)- 1): # цикл ищет и убирает повторяющиеся елементы
    cur_element = l[i]
    for j in range(0, len(l)-1):
        if l[j] == cur_element:
            counter +=1
    if counter >= 2:
            l.pop(j)
 
 
#print(ar)
print(l)
#print(l)
print()
#rint(counter)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2019, 22:36
Ответы с готовыми решениями:

Массив в цикле for. IndexError: list assignment index out of range
Приветствую, помогите начинающему в наверное элементарном вопросе, не могу сформировать массив через цикл, a= for i in range(10):...

IndexError: list index out of range
a1= a2= a3= a4= r= for i in range(0, len(r)): u1=r u2=r u3=r print(u1, u2, u3)

IndexError: list index out of range
from tkinter import* from random import randint def make_matrix(z,width,height): h= for i in range(height): d=...

3
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
13.11.2019, 22:41
Лучший ответ Сообщение было отмечено semodo как решение

Решение

Цитата Сообщение от semodo Посмотреть сообщение
а я ее не вижу.
а она там есть и именно выход за пределы списка. Или принтами выводи или лучше отладчиком пройдись -сам все увидишь. Ты не забыл, что когда удаляешь элемент из списка, то его длина становится меньше (КО подтверждает)? Вообще так делать нельзя - менять список в момент пробега по нему, тут итератор нужен.



Цитата Сообщение от semodo Посмотреть сообщение
цикл ищет и убирает повторяющиеся елементы
для этого есть set()
1
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
13.11.2019, 22:44
в https://repl.it/languages/python3 - ошибок не показал.
console output:
[3.605551275463989, 2.0, 3.605551275463989, 5.0990195135927845, 5.830951894845301, 4.47213595499958, 5.656854249492381, 6.708203932499369, 7.0710678118654755, 3.605551275463989, 5.0, 1.4142135623730951, 8.54400374531753, 8.06225774829855, 4.123105625617661, 7.280109889280518, 4.0, 3.605551275463989, 2.0, 5.0, 5.385164807134504, 5.0990195135927845, 7.0710678118654755, 4.0, 7.211102550927978, 8.54400374531753, 8.602325267042627, 3.605551275463989, 1.4142135623730951, 5.385164807134504, 8.06225774829855, 7.0, 5.385164807134504, 6.082762530298219, 3.1622776601683795, 3.605551275463989, 5.0990195135927845, 8.54400374531753, 5.0990195135927845, 8.06225774829855, 4.0, 9.055385138137417, 5.0990195135927845, 10.63014581273465, 11.661903789690601, 5.830951894845301, 8.06225774829855, 7.0710678118654755, 7.0, 4.0, 10.295630140987, 1.4142135623730951, 8.54400374531753, 10.198039027185569, 4.47213595499958, 4.123105625617661, 4.0, 5.385164807134504, 9.055385138137417, 10.295630140987, 10.0, 8.06225774829855, 7.0710678118654755, 5.656854249492381, 7.280109889280518, 7.211102550927978, 6.082762530298219, 5.0990195135927845, 1.4142135623730951, 10.0, 7.280109889280518, 9.055385138137417, 6.708203932499369, 4.0, 8.54400374531753, 3.1622776601683795, 10.63014581273465, 8.54400374531753, 8.06225774829855, 7.280109889280518, 2.23606797749979, 7.0710678118654755, 3.605551275463989, 8.602325267042627, 3.605551275463989, 11.661903789690601, 10.198039027185569, 7.0710678118654755, 9.055385138137417, 2.23606797749979]
1
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
13.11.2019, 22:46
untyped, а это значит не было дублей или их мало, не меняет список. У него в цикле удаляются эдементы дублирующиеся в том и проблема.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2019, 22:46
Помогаю со студенческими работами здесь

IndexError: list index out of range
Здравствуйте. Вот код. Пишет ошибка. Не могу понять как исправить ошибку. Прошу помощи. def create_str(): soup =...

IndexError: list index out of range
Добрый день, столкнулся с такой проблемой: создавал телеграм-бота, и при вводе боту команды "/add", в консоли вылезает ошибка:...

IndexError: list index out of range
Почему-то выводится ошибка. Хотя длину списка я не изменяю. a=list(map(int,input().split())) b= a.sort() for i in...

IndexError: list index out of range
Кто знает как исправить? Ошибка на 3 строке IndexError: list index out of range import sys import math a = float(sys.argv) b =...

IndexError: list index out of range
port random Array = ,,,] list = Array=2 def users_choice(Array,user_input): if user_input == "u": i = 0 i = 0 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru