首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python列表理解结果很奇怪

python列表理解结果很奇怪
EN

Stack Overflow用户
提问于 2019-12-10 14:06:02
回答 1查看 43关注 0票数 1

我正在学习关于列表理解的python语法,我的目的是使用列表理解,获取dic键并创建新的集数据。这是我的密码。

代码语言:javascript
复制
    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列表理解有什么特殊的规则吗?还是一个复杂的错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-10 14:08:36

set在Python中是无序的。为了保持顺序,可以考虑使用集合模块中的OrderedDict

dict对象没有使用它来保持顺序,但是这种行为在Python3.7之后得到了保证。然而,OrderedDicts在引擎罩下仍有一些优点,可用于跟踪插入顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59269034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档