动态地从Python字典中获取数据?

动态地从Python字典中获取数据?,python,dictionary,Python,Dictionary,如何以预定义的顺序从字典中获取数据 例如,在下面的字典中,如果有更多的动态数据,我如何首先获取join1值,然后获取join2值等等,这样我就可以遍历整个字典,一个接一个地获取值,而无需进行硬编码 jDict = dict(join1 = dict(jtable='ABC', alias='REF', joinSelColumns=['A'], joinCond=['B', 'C', 'D'],

如何以预定义的顺序从字典中获取数据

例如,在下面的字典中,如果有更多的动态数据,我如何首先获取join1值,然后获取join2值等等,这样我就可以遍历整个字典,一个接一个地获取值,而无需进行硬编码

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]
,并且您希望按顺序迭代它们,为什么不使用列表呢?在这种情况下,使用字典毫无好处。看看收藏。订购字典谢谢你的建议,我会试试看。