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

TypeError: list indices must be integers or slices, not list

10.02.2019, 21:12. Показов 5204. Ответов 3

Студворк — интернет-сервис помощи студентам
Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой, содержащей только строку "end" (без кавычек)

Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+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
z = []
i = 0
sum = 0
while True:
    x = input().split()
    if 'end' in x:
        break
    z.append([int(i) for i in x])
for j in z:
    vr = j[::-1]
    vr = vr[0]
    if i != 0:
        print()
    i += 1
    for i in j:
        print(i, end=" ")
        try:
            sum = j[i-1]
        except:
            sum = vr
        try:
            sum += j[i+1]
        except:
            sum += j[0]
        try:
            vr = z[j+1]
            sum += vr[i]
        except:
            vr = z[j]
            sum += vr[i]
        try:
            vr = z[j-1]
            sum += [i]
        except:
            vr = z[::-1]
            vr = vr[0]
            sum += [i]
Ошибка:
9 5 3
0 7 -1
-5 2 9
end
9 Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/untitled/stepik.py", line 26, in <module>
vr = z[z+1]
TypeError: can only concatenate list (not "int") to list

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/untitled/stepik.py", line 29, in <module>
vr = z[j]
TypeError: list indices must be integers or slices, not list
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2019, 21:12
Ответы с готовыми решениями:

TypeError: list indices must be integers or slices, not str
ошибка TypeError: list indices must be integers or slices, not str ws = {'st': msg, 's': random.randint(1, 9999), 'wid': msg, ...

TypeError: list indices must be integers or slices, not str
Привет! Помогите поправить данную ошибку, пожалуйста! ошибка в 6-ой строке def...

Ошибка: TypeError: list indices must be integers or slices, not str
Здравствуйте, я новичок в python - прошу строго не судить. Пытаюсь сделать биграмный словарик. Подскажите, почему он выдает на 12 строке...

3
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.02.2019, 05:26
Цитата Сообщение от dasfkl Посмотреть сообщение
File "C:/Users/User/PycharmProjects/untitled/stepik.py", line 29, in <module>
vr = z[j]
TypeError: list indices must be integers or slices, not list
Смотрите строку 29. Вы там индексом списка делаете не число (либо срез), а список. Так нельзя.
1
0 / 0 / 0
Регистрация: 10.02.2019
Сообщений: 2
13.02.2019, 21:31  [ТС]
Можете сказать как это исправить? Какой код написать?
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
13.02.2019, 22:27
Лучший ответ Сообщение было отмечено dasfkl как решение

Решение

dasfkl, у вас
z = [[1, 2], [3, 4]]
j = [1, 2]

то есть, в строке 29 вы делаете
[[1, 2], [3, 4]][1, 2]
так делать нельзя. список можно индексировать только по одному числу (у вас список из двух чисел), либо делать срез. я начал было исправлять ошибки ваши, но там ещё посыпались другие. например, что вот это sum += [i]?
расставьте принты и сами всё увидите.

ps. зачем вам столько try/except, если есть if/else?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2019, 22:27
Помогаю со студенческими работами здесь

list indices must be integers or slices, not tuple
def amount_of_even(a, n, m): summ=0 for i in range(0, n, 2): for j in range(m): if a &gt; 0: summ += 1 return summ ...

List indices must be integers or slices, not tuple
import numpy as np import sys Round = Heroes = Comand = Heroes_cells = ,0),] Hero_index = ,, Round_index =

List indices must be integers or slices, not float
c = float(input()) a = l = 0 r = c while r - l &gt; 1: m = (r + l) // 2 if a &gt; c: r = m else: l...

Почему выдаёт ошибку list indices must be integers or slices, not type
import collections defaultdict = collections.defaultdict(list) deque=collections.deque List= class Solution: def...

Ревёрси - tuple indices must be integers or slices, not str
Вообщем, делаю игру ревёси по книжке. Консоль находит несколько ошибок. Вот они: Traceback (most recent call last): File...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru