我有一个这样的文件:Python列表访问字典直接
>>> k = {'finance_pl':{'S':{'2008':45,'2009':34}}}
访问普通的方法是:
>>> k['finance_pl']['S']
{'2008': 45, '2009': 34}
但是,在我的情况下,终端用户可以给我输入为finance_pl.S
我可以拆分这一点,查阅字典是这样的:
>>> doc_list = doc.split('.')
>>> k[doc_list[0]][doc_list[1]]
{'2008': 45, '2009': 34}
但是,我不想这样做,因为字典结构可能会改变和 用户可以给这样的东西finance_pl.new.S
而不是k['finance_pl']['S']
或k[doc_list[0]][doc_list[1]]
。 (例如:如果输入是finance_pl.new.S
,我应该可以将这个.split('.')
方法应用于用户输入并直接应用)。我需要一些东西来直接应用用户输入(例如:如果输入是finance_pl.new.S
,我应该能够将这个.split('.')
方法应用于用户输入并直接应用)。
什么是优雅的方式来做到这一点?
不知道我是否理解正确的问题,即是否有更多的,但我想你应该看看这个[相关问题](http://stackoverflow.com/q/12414821/1639625) –
我回答了类似的问题[这里](http://stackoverflow.com/questions/14923465/python-how-to-return-a-default-value/14 923509#14923509)我认为它会帮助你。此外,请参阅[乔恩的答案](http://stackoverflow.com/a/17787473/1561176)这是我将如何回答你的问题。 –
是的,@InbarRose你是对的。这正是我需要的。 –