s
может быть списком, но элемент - s[i]
- это , а не - это длинный, как указано в ошибке.
Кроме того, append()
работает непосредственно со списком - он возвращает None
, так что вы фактически устанавливаете A
как None - вероятно, не то, что вы хотели!
Есть две вещи, которые вы можете сделать, чтобы избежать подобных ошибок в будущем.
Не используйте однобуквенные имена переменных. Используйте описательные имена длиной от одного до трех слов, которые описывают что содержит в себе переменная (и / или для чего она должна использоваться).
Если у вас возникла проблема, попробуйте поместить ее в блок try / Кроме того, где вы ставите имя ошибки после except
и распечатывает ошибочные переменные:
try:
s.append(s[i]+A+B)
except TypeError:
print "Failed to add", s[i], ",", A, ",", "and", B
raise
Не забудьте про raise
в конце - таким образом, вы не просто проигнорируете проблему и начнете получать действительно странные ошибки.