I want to value the following dict y1~y10[name] with the given list.
I know using eval(self.y$i[name]) = value is wrong but how should I do this in 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? Then you wouldn't needeval()or similar things in the first place.