动态地从Python字典中获取数据?
如何以预定义的顺序从字典中获取数据 例如,在下面的字典中,如果有更多的动态数据,我如何首先获取join1值,然后获取join2值等等,这样我就可以遍历整个字典,一个接一个地获取值,而无需进行硬编码动态地从Python字典中获取数据?,python,dictionary,Python,Dictionary,如何以预定义的顺序从字典中获取数据 例如,在下面的字典中,如果有更多的动态数据,我如何首先获取join1值,然后获取join2值等等,这样我就可以遍历整个字典,一个接一个地获取值,而无需进行硬编码 jDict = dict(join1 = dict(jtable='ABC', alias='REF', joinSelColumns=['A'], joinCond=['B', 'C', 'D'],
jDict = dict(join1 = dict(jtable='ABC', alias='REF', joinSelColumns=['A'],
joinCond=['B', 'C', 'D'],
joinGroupClause=['B', 'C', 'D'],
joinOrderClause=[('B', 'DESC'), ('C'), ('D')]),
join2 = dict(jtable='XYZ', alias = 'NET', joinSelColumns=['S'],
joinCond=['T'],
joinGroupClause=['M', 'N'],
joinOrderClause=[('M', 'DESC'), ('N')]))
您可以对密钥进行排序:
for sortedkey in sorted(jDict):
# first join1, then join2
否则,字典就没有固定的顺序
你可以用它来代替;按插入顺序维护项目;如果在join2
之前插入了join1
,则在迭代字典时,它也将首先列出
如果您所有的项目在其他方面都是相同的,只是顺序不同(因此只需
join1
,join2
,等等),那么您也可以使用列表代替。即使您有不同类型的项目,也可以按类型对这些项目进行分组<代码>jDict['joins']=[join1、join2等]不可能。如果您的键都被调用为join[n]
,并且您希望按顺序迭代它们,为什么不使用列表呢?在这种情况下,使用字典毫无好处。看看收藏。订购字典谢谢你的建议,我会试试看。