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

时间:2014-07-17 10:33:17

标签: python

这是我的一个功能:

def analyzeHeader(headerLine):
    import re
    matchObj = re.match("^\s*(\w+).+:\s*(\d+)\s+Name = (.+) - Type = (.+)\s*$", headerLine, re.M|re.I)
    if not matchObj:
        return None
    return [matchObj.group(1), matchObj.group(2), matchObj.group(3), matchObj.group(4)]

然后我打电话给analyzeHeader:

list = analyzeHeader(headerLine)
## ....
col = int(float(list[1])) - 1 ### <== Error here

如果我将上述行更改为:

list = analyzeHeader(headerLine)
## ....
col = float(list[1]) - 1 ### <== OK now
c = int(col)
r = row - 1
tmp = data[r]
res = float(tmp[c]) ### Error now occurs here: "TypeError: list indices must be integers"

知道这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:1)

代码没有错。我用来执行代码的工具只包含Python的原始int()函数。然后,我所要做的就是调用原始的int()函数:__builtin__.int()