2014-03-26 100 views
-1

是否有一個函數可以接受字典並修改字典只需增加1中的值?增加字典中的值?

f({'1':0.3, '11':2, '111':{'a':7, 't':2}}) 

變得

{'1':1.3, '11':3, '111':{'a':8, 't':3}} 

f({'a':{'b':{'c':5}}})

變得

{'a':{'b':{'c':6}}} 

謝謝!

+1

沒有內置函數'dictionary_value_one_adder'!你有沒有試圖實現它? – jonrsharpe

+2

它是你的功課嗎? http://stackoverflow.com/questions/22655674/modify-value-in-dictionary – zhangxaochen

回答

1

不是最好的...

def incr(d): 
    try: 
     return d + 1 
    except TypeError: # test the type rather catch error 
     return g_incr(d) 
    except: 
     return 0 
def g_incr(d): 
    return {k:incr(v) for k, v in d.items()} 


test = {'1':0.3, '11':2, '111':{'a':7, 't':2}} 
print g_incr(test) 
0

我想你應該試試這個;

def increment(dict): 
    return {k:v+1 for k,v in dict.items()} 
result = increment() 
print result