首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python-3.6打印集合表达式顺序不正确

python-3.6打印集合表达式顺序不正确
EN

Stack Overflow用户
提问于 2017-06-01 13:54:19
回答 3查看 47关注 0票数 2

关于Python3.6有一个问题。它是关于集合表达式的输出。我不知道为什么下面的代码没有按顺序显示:

代码语言:javascript
复制
a = {i*2 for i in range(1, 5)}
print(a)

我期望的是{2, 4, 6, 8},但输出是{8, 2, 4, 6}

为什么它是不合乎规则的?

EN

回答 3

Stack Overflow用户

发布于 2017-06-01 21:22:28

如果你看一下文档,set documentation的第一句话是:

set对象是由不同的

对象组成的无序集合。

因此,集合中元素的顺序实际上是随机。即使在python-3.6中也是如此。

票数 1
EN

Stack Overflow用户

发布于 2017-06-01 14:07:01

1这里是python的例子,集合中的元素没有按顺序排列,即元素是随机排列的

票数 0
EN

Stack Overflow用户

发布于 2017-06-01 21:09:59

Python集是没有顺序的,它们只包含元素。如果您需要您的数据结构具有特定的顺序,可以考虑使用OrderedDict。

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

https://stackoverflow.com/questions/44299475

复制
相关文章

相似问题

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