我正在学习关于列表理解的python语法,我的目的是使用列表理解,获取dic键并创建新的集数据。这是我的密码。
dic = {'hello': 2, 'hiaaaa': 1, 'goodmorning': 0}
new_set = { len(name) for name in dic.keys() }
print(new_set)我预期结果是{5, 6, 11}而不是{11, 5, 6}。
当我向dic添加数据时,结果总是不同的。有时dic是有序的,有时dic是无序的。那么python列表理解有什么特殊的规则吗?还是一个复杂的错误?
发布于 2019-12-10 14:08:36
set在Python中是无序的。为了保持顺序,可以考虑使用集合模块中的OrderedDict。
dict对象没有使用它来保持顺序,但是这种行为在Python3.7之后得到了保证。然而,OrderedDicts在引擎罩下仍有一些优点,可用于跟踪插入顺序。
https://stackoverflow.com/questions/59269034
复制相似问题