python列出错误

时间:2010-04-10 06:30:42

标签: python

A=s.append(s[i]+A+B)

A = s.append(S [I] + A + B) TypeError:+:'long'和'str'

的不支持的操作数类型

这个错误是什么意思? A和B是字符串,s是列表

3 个答案:

答案 0 :(得分:4)

s可能是一个列表,但元素 - s[i] - 不是 - 它是一个很长的,如错误所示。

此外,append()会直接在列表上运行 - 它返回None,因此您实际上将A设置为无 - 可能不是您想要的!

您可以采取两项措施来帮助避免将来出现此类错误。

  1. 不要使用单字母变量名。使用描述性的一到三个字长的名称来描述变量在其中的含义(和/或它应该用于什么)。

  2. 当您遇到问题时,请尝试将其放在try / except块中,并在except之后输入错误名称并打印出有问题的变量:

  3.   

    try:
        s.append(s[i]+A+B)
    except TypeError:
        print "Failed to add", s[i], ",", A, ",", "and", B
        raise
    

    不要忘记那里的raise - 这样你就不会忽视这个问题并开始发现真正奇怪的错误。

答案 1 :(得分:0)

如果A和B是字符串,那么s [i]必须是'long'。

答案 2 :(得分:0)

s [i]可能很长。你不能在字符串中加长。

尝试:

  

A = s.append(STR(S [1])+ A + B)