我想用给定的列表来估价以下dict
y1~y10[name]
。如何在python中编写这个eval?
我知道使用eval(self.y$i[name]) = value
是错误的,但我应该如何在python中执行此操作?
class excel:
def __init__(self):
self.base_year = 2004
self.y1 = {'year':self.base_year}
self.y2 = {'year':self.base_year + 1}
self.y3 = {'year':self.base_year + 2}
self.y4 = {'year':self.base_year + 3}
self.y5 = {'year':self.base_year + 4}
self.y6 = {'year':self.base_year + 5}
self.y7 = {'year':self.base_year + 6}
self.y8 = {'year':self.base_year + 7}
self.y9 = {'year':self.base_year + 8}
self.y10 = {'year':self.base_year + 9}
def value(self, name, value_list):
for value, i in value_list, range(1, 10):
eval(self.y$i[name]) = value
list = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 ]
e1.value('test', list)
为什么不直接创建一个名为'self.y'的列表或字典?那么你首先不需要'eval()'或类似的东西。 – Kevin
请勿使用eval()。 – GLHF