A=s.append(s[i]+A+B)
A = s.append (s [я] + A + B) TypeError: неподдерживаемый тип операнда (ов) для +: 'длинные' и что делает это 'ул'питона списки ошибок
ошибка означает? A и B являются строками, а s - это список
A=s.append(s[i]+A+B)
A = s.append (s [я] + A + B) TypeError: неподдерживаемый тип операнда (ов) для +: 'длинные' и что делает это 'ул'питона списки ошибок
ошибка означает? A и B являются строками, а s - это список
s
может быть список, но элемент - s[i]
- это не - это длинный, как указано ошибка.
Кроме того, append()
действует непосредственно в списке - он возвращает None
, так что вы на самом деле устанавливаете A
как None - возможно, не то, что вы хотели!
Есть две вещи, которые вы можете сделать, чтобы избежать такого рода ошибок в будущем.
Не используйте одноименные имена переменных. Используйте описательные имена длиной от одного до трех слов, которые описывают то, что имеет в нем переменную (и/или то, что предполагается использовать).
Когда у вас есть проблемы, попробуйте положить его в попытке/за исключением блока, в котором вы кладете имя ошибки после except
и распечатать обижая переменные:
try:
s.append(s[i]+A+B)
except TypeError:
print "Failed to add", s[i], ",", A, ",", "and", B
raise
Дон Забудьте об raise
в конце - так вы не просто проигнорируете проблему и начнете получать действительно странные ошибки.
Если A и B являются строками, тогда s [i] должен быть «длинным».
s [i], вероятно, длинный. Вы не можете добавить длинную строку.
Try:
A=s.append(str(s[i])+A+B)
Относительно вашего раннего http://stackoverflow.com/questions/2612461/indexing-error-in-list-in-python Рассмотрите возможность редактирования оригинала. –