Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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
';对于循环';.plist(或xml)字典中的python 3字典_Python_Dictionary_For Loop - Fatal编程技术网

';对于循环';.plist(或xml)字典中的python 3字典

';对于循环';.plist(或xml)字典中的python 3字典,python,dictionary,for-loop,Python,Dictionary,For Loop,希望这里有一个快速的python问题 import plistlib pl = plistlib.readPlist('/Users/name/Documents/some.plist') print(pl[0]['keyA'] , pl[0]['keyD'] , pl[0]['keyG']) 我如何编写一个for循环或一个list函数,它将在字典中循环,将值打印到某些键上 主词典将有30个条目(词典中的词典),每个条目内大约有40个键。) 例如: print(pl[0]['keyA']

希望这里有一个快速的python问题

import plistlib

pl = plistlib.readPlist('/Users/name/Documents/some.plist')

print(pl[0]['keyA'] , pl[0]['keyD'] , pl[0]['keyG'])
我如何编写一个for循环或一个list函数,它将在字典中循环,将值打印到某些键上

主词典将有30个条目(词典中的词典),每个条目内大约有40个键。)

例如:

print(pl[0]['keyA'] , pl[0]['keyD'] , pl[0]['keyG'])
print(pl[1]['keyA'] , pl[1]['keyD'] , pl[1]['keyG'])
print(pl[2]['keyA'] , pl[2]['keyD'] , pl[2]['keyG'])
print(pl[n]['keyA'] , pl[n]['keyD'] , pl[n]['keyG'])
其中,
pl
是主词典,然后
0-n
参考词典中的词典

我希望这是有意义的

写下来吧!:p

for sub_dict in pl.values():
    print sub_dict['keyA'], sub_dict['keyD'], sub_dict['keyG']

.values()
表示对字典的值进行迭代,因为通常对字典进行迭代都要经过它的键。在Python 2中,使用
.itervalues()

您遇到的问题与
plist
无关,而是嵌套字典

从您编写的内容来看,您的
pl
dict看起来像:

pl = {0: {'keyA': 1, 'keyD': 2, 'keyG': 3}, 
      1: {'keyA': 11, 'keyD': 12, 'keyG': 13}}
在这种情况下,只需使用:

keys = ['keyA', 'keyD', 'keyG']
for i in range(len(pl)):
    print(' '.join(str(pl[i][key]) for key in keys)

如果所有的
pl
键都是数字,这将起作用,否则您可能需要使用或查看
文件“plistread.py”,第6行打印子目录['NOISE'],子目录['SSID_STR'],子目录['BSSID']^SyntaxError:无效语法
回溯(最近一次调用):文件“plistread.py”,第5行,在for sub_dict in pl.values():AttributeError:'list'对象没有属性'values'
如果它说
'list'对象没有属性'values'
,那么
'list'
对象没有
'values'
属性!问题是外部数据结构是一个列表,而不是一个字典。要迭代列表,您只需在pl:
@user969617中为sub_dict编写
,因为您使用的是Python 3,所以您当然必须使用
print