Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7.8:打印子字典值?_Python_Dictionary_Printing - Fatal编程技术网

Python 2.7.8:打印子字典值?

Python 2.7.8:打印子字典值?,python,dictionary,printing,Python,Dictionary,Printing,我正在使用ConfigParser,它返回一个配置数据字典,如下所示: {'general': {'UserKey': 'thisisatestkey'}} 如果我只想打印UserKey的值(在本例中是testkey),那么我通常只需执行打印“您的key是:{0}”。格式化(mydictvar.get('UserKey')) 如果我只是把原始的dict打印成一个字符串,我就会得到上面的结果。如果我使用上面的print语句,我得到的结果是None,因为在名为UserKey的dict的根中没有键。

我正在使用ConfigParser,它返回一个配置数据字典,如下所示:

{'general': {'UserKey': 'thisisatestkey'}}
如果我只想打印UserKey的值(在本例中是testkey),那么我通常只需执行
打印“您的key是:{0}”。格式化(mydictvar.get('UserKey'))

如果我只是把原始的dict打印成一个字符串,我就会得到上面的结果。如果我使用上面的print语句,我得到的结果是None,因为在名为UserKey的dict的根中没有键。如果我
.get('general')
我只得到:
{'UserKey':'thisisatestkey'}

显然我可以做这样的前循环:

keydic = cp.get_config_data()

for m, k in keydic.iteritems():
    for s, v in k.iteritems():
        userkey = v
然后打印工作正常的用户密钥。但我想知道如何避免先执行整个for循环,然后直接内联打印该死的值?谢谢

您可以使用

mydictvar['general']['UserKey']
或者,如果钥匙可能丢失了

mydictvar.get('general', {}).get('UserKey')
mydictvar['general']
返回字典对象;然后,您可以对该值应用
[…]
,以检索下一个键

这也适用于字符串格式:

>>> mydictvar = {'general': {'UserKey': 'thisisatestkey'}}
>>> print "Your key is: {0[general][UserKey]}".format(mydictvar)
Your key is: thisisatestkey
简单无环:

>>> my_dict = {'general': {'UserKey': 'thisisatestkey'}}
>>> my_dict['general']['UserKey']
'thisisatestkey'

你是说
mydictvar['general']['UserKey']
?或者,如果可能缺少键
mydictvar.get('general',{}).get('UserKey')