【发布时间】:2019-09-12 17:58:15
【问题描述】:
我正在尝试学习如何操作 python2.7 OrderedDict 对象。我有一个在程序前面提供的 OrderedDict。我试图了解它的结构,同时了解如何操作这个对象并从字典中提取各种元素和元素值。
在下面的代码中,我演示了初始有序字典对象 finaldata 有一个键 ['models'] 。我使用该键从 finaldata 创建了一个新的有序字典 fdata_models。然后使用 fdata_models 等中的一个键创建一个新的有序字典。
您可以在下面看到我的测试程序及其实验的输出。
我有几个问题,但最紧迫的是为什么我不能遍历 fdata_models 中的字典对象?
在那个问题之后,我尝试了语法“fdata_model = fdata_models[0]”,而不是硬编码密钥,[ 'models'],但这也会引发错误。有没有办法在 fdata_models 中不知道其实际键值的情况下对第 3 次出现进行索引?
....
fdata_models = OrderedDict()
fdata_model = OrderedDict()
fdata = OrderedDict()
print("finaldata Keys are ", finaldata.keys())
fdata_key = finaldata.keys()
print("finaldata Key is ", fdata_key)
fdata_models = finaldata['models']
print("Number of ", fdata_key, " are ", len(fdata_models))
print("['Models'] Keys are ", fdata_models.keys())
fdata_model = fdata_models['1']
print("Number of models['1'] are ", len(fdata_model))
print(" models['1'] keys are ",fdata_model.keys())
fdata_model = fdata_models['64110']
print("Number of models['64110'] are ", len(fdata_model))
print(" models['64110'] keys are ",fdata_model.keys())
for fdata in fdata_models:
print("fdata['model']", " keys are ", fdata[0].keys())
('finaldata Keys', ['models']) ('finaldata Keys', ['模型'])
('个数', ['models'], '是', 4)
("['Models'] 键为 ", ['123', '110', '111', '112'])
("模型数['123']为", 7)
("models['123'] 键是 ", ['model', 'Mn', 'Md', 'Opt', 'Vr', 'SN', 'DA']) ("模型数['110']是", 47) ("模型['64110']键 是 ", ['model', 'MajorFWRev', 'MidFWRev', 'MinorFWRev', ...
'TimeZone', 'Date_year', 'Date_month', 'Date_Day', 'Time_hour', 'Time_minute', 'Time_second', ...]) 回溯(最近一次通话 最后):文件 /pgms/json.py”,第 204 行,在 print("fdata['model']", " keys are ", fdata[0].keys()) AttributeError: 'str' object has no attribute 'keys'
谢谢...RDK
【问题讨论】:
标签: python-2.7 ordereddictionary