我在做一个项目,我被一种罕见的python行为困住了。你知道吗
我有一个包含数字(只有整数)的列表。问题是,如果我为这些数字调用函数type()
,它们将被标记为instance
,而不是int
。这使得我无法对它们执行任何类型的数学操作,因为我尝试了以下方法:
for elem in list:
print elem+1
将显示错误:
TypeError: unsupported operand type(s) for +: 'instance' and 'int'
有没有办法指定这些数字是int
类型的?你知道吗
附加信息:列表是从文本文件读取的(项目实际上是一种编程语言,列表是通过解析器读取的)。你知道吗
编辑:这是代码的一部分,解析器在这里读取列表。你知道吗
def p_exp_set_literal(symbol):
"""expression : OPENCURLY comma_list CLOSECURLY
| OPENCURLY CLOSECURLY """
if len(symbol) == 4:
start, _ = span(symbol, 1)
_, end = span(symbol, 3)
symbol[0] = Set((start, end), symbol[2])
else:
start, _ = span(symbol, 1)
_, end = span(symbol, 2)
symbol[0] = Set((start, end), None)
comma_list
是列表所在的位置。然后发送到抽象语法树,如下所示:
class Set(Expression):
"""Class to define a set"""
def __init__(self, lexspan, values):
self.lexspan = lexspan
if values is not None:
self.values = values
else:
self.values = []
这里values
是列表所在的位置。你知道吗
相关问题 更多 >
编程相关推荐