gpt4 book ai didi

Python 字典以随机顺序返回键

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:31 26 4
gpt4 key购买 nike

我有一个简单的字典字典如下:

stb = {
'TH0':{0:'S0',1:'Sample1',2:'Sample2',3:'Sample4'},
'TH1':{0:'Sa0',1:'Sample1',2:'Sample2',3:'Sample4'},
'TH2':{0:'Sam0',1:'Sampled1.0',2:'Sampled2.0',3:'Sampled4.0'},
'TH3':{0:'Samp0',1:'Sample1',2:'Sample2',3:'Sample4'},
'TH4':{0:'Sampl0',1:'Sample1',2:'Sample2',3:'Sample4'},
}
tb = stb

theaders = []
for k in tb.keys():
theaders.append(k)
columns = len(theaders)
rows = len(tb[theaders[0]])
print(tb[theaders[0]])
print('Cols: ',columns)
print('Rows: ',rows)

for h in theaders:
print(h)
`

这里的问题是,每次我运行此代码段时,theaders 的值都是随机排列的。例如,First Run:

{0: 'Samp0', 1: 'Sample1', 2: 'Sample2', 3: 'Sample4'}
Cols: 5
Rows: 4
TH3
TH0
TH4
TH1
TH2

第二次运行:

{0: 'S0', 1: 'Sample1', 2: 'Sample2', 3: 'Sample4'}
Cols: 5
Rows: 4
TH0
TH2
TH4
TH1
TH3

注意:以前从来没有这种情况,但出于某种原因,它才刚刚开始发生,我真的需要这些键的正确顺序。

另请注意:简单地对其进行排序是行不通的,因为真实数据具有不应排序的字符串键。

最佳答案

对于 python 3.6,维护插入顺序的字典是一个实现细节。在 python 3.7 中,它得到保证和记录。您没有指定您使用的是哪个版本的 Python,但我认为它早于 3.6。一种选择是使用有序字典,即 collections 模块中的 OrderedDict,其中保证旧版本 python 的插入顺序。

关于Python 字典以随机顺序返回键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com