我想找到一个更好的解决方案但到目前为止没有运气。 我有一本字典:
dict = {"a":(1,2,3),"b":(4,5,6)}
我需要通过一个类迭代它:
class App(object):
def __init__(self,x):
self.x = x
def key(self,key):
print key
def value1(self,value1):
print value1
def value2(self,value2):
print value2
def value3(self,value3):
print value3
我到目前为止的解决方案是:
app = App(0)
while app.x < len(dict.keys()):
app.key(dict.keys()[app.x])
app.value1(dict.values()[app.x][0])
app.value2(dict.values()[app.x][1])
app.value3(dict.values()[app.x][2])
app.x +=1
我想避免使用[0]
,[1]
,[2]
进行硬编码。如果用字典很难实现,应使用什么数据类型来获得理想的结果?任何帮助将非常感谢!
答案 0 :(得分:0)
最好更改App
课程,但如果你不能改变它,那么:
app = App(0)
funcs = [app.value1, app.value2, app.value3]
for i, (key, items) in enumerate(d.iteritems()):
app.x = i
app.key(key)
for func, item in zip(funcs, items):
func(item)