TypeError:不支持的操作数类型 - =:' instance'和' int'

时间:2015-02-23 00:31:51

标签: python

我在代码中多次收到此错误。我在使用时发生了:

pos -= 1

错误当然是:TypeError: unsupported operand type(s) for -=: 'instance' and 'int'

感谢任何帮助!

def DELETE(pos, lst) :
    temp = FIRST(lst)
    # move to just before pos
    if pos == 0 :
        lst.head = temp.nxt
    elif pos == END(lst) :
        if temp.nxt == None :
            lst = MAKENULL()
        else :
            while (temp.nxt).nxt :
                temp = temp.nxt
            temp.nxt = None
    else :
        while pos - 1 > 0 :
            temp = temp.nxt
            pos -= 1
        first = temp
        second = temp.nxt
        first.nxt = second.nxt
        lst.cur = lst.head

1 个答案:

答案 0 :(得分:1)

您获得的错误仅取决于您展示的代码 - 它主要是关于pos的内容 - 显然是旧式Python 2类的实例未实现尝试假装为整数的特殊方法(特别是__isub__用于就地减法。