1
我目前空白的是如何以有效的方式做到這一點。我想過使用對象,但我沒有看到他們在這種情況下如何提供幫助。有任何想法嗎?需要將函數字典轉換爲結果字典的Python技巧
from random import choice
from copy import deepcopy
def main():
def rand_int():
return choice(['yes', 'no'])
# any nesting, functions possible
spec = {
'answer': rand_int,
'next': {'answer': rand_int},
'the_answer': 42
}
#### looking for elegant (automatic) way to do this
result = deepcopy(spec)
result['answer'] = result['answer']()
result['next']['answer'] = result['next']['answer']()
#### until here
# result2 = ...
print 'result: %s' % result
if __name__ == '__main__':
main()
請不要告訴我使用xsd!
@TimPietzcker我意識到,當我發佈,更新與兩個答案。 –
期待:) –
請注意,dict解析工作在Python 2.7+。同樣的語法也是用冒號:'{key:鍵的值,dict.items()中的值}' –