这是我的一个功能:
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"
知道这段代码有什么问题吗?
答案 0 :(得分:1)
代码没有错。我用来执行代码的工具只包含Python的原始int()函数。然后,我所要做的就是调用原始的int()函数:__builtin__.int()