希望这里有一个快速的蟒蛇问题......
import plistlib
pl = plistlib.readPlist('/Users/name/Documents/some.plist')
print(pl[0]['keyA'] , pl[0]['keyD'] , pl[0]['keyG'])
我将如何编写for循环或列表函数,循环通过字典将值打印到某些键。
主词典会有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
引用词典中的词典。
我希望这是有道理的
答案 0 :(得分:1)
写吧! :P
for sub_dict in pl.values():
print sub_dict['keyA'], sub_dict['keyD'], sub_dict['keyG']
(.values()
表示迭代字典的值,因为通常迭代字典会通过其键。在Python 2中使用.itervalues()
代替。)
答案 1 :(得分:0)
你的问题与plist
无关,它与嵌套词典有关。
根据你的写作,似乎你的pl
字典看起来像是:
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)