gpt4 book ai didi

python - 使用 dict.fromkeys( ) 禁用自动字典排序?

转载 作者:太空狗 更新时间:2023-10-30 00:41:23 25 4
gpt4 key购买 nike

def parse_urls(weeks_urls):
for wkey in weeks_urls.keys():
results=urllib2.urlopen(weeks_urls[wkey])
lines = list(csv.reader(results))
lines=clean_lines(lines)
week_dict=dict.fromkeys(lines[i][1] for i in range(len(lines)))
fare_data=list((lines[i][1:]) for i in range(3,len(lines)))
fare_data=get_fare_data(fare_data)
n=3
for station in week_dict: .....
.......

当我使用 dict.fromkeys( ) 从字符串列表生成一个字典时,它会自动对它们进行排序,生成一个字符串按字母顺序排列的字典。我需要保留字符串的原始顺序。有办法做到这一点吗?

感谢这里的任何帮助

谢谢!

最佳答案

it automatically sorts them, producing a dict with the strings in alphabetical order

这不太正确。 Python 的标准 dict 是无序的,这意味着它可以根据需要重新排序。因此,您不能依赖以任何特定顺序出现的键(也不能依赖在插入/删除过程中保持相同的顺序)。

要保留插入顺序,您可以使用 collections.OrderedDict :

In [6]: l = [1, 2, 20, 5, 10]

In [7]: list(dict.fromkeys(l).keys())
Out[7]: [1, 2, 10, 20, 5]

In [8]: list(collections.OrderedDict.fromkeys(l).keys())
Out[8]: [1, 2, 20, 5, 10]

关于python - 使用 dict.fromkeys( ) 禁用自动字典排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13823956/

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