首页 > 解决方案 > 为什么集合 {1, 3, 5, 7} 在 python 3.9 中总是有序的?

问题描述

我已经到处寻找答案,但是,每个站点都告诉我我已经知道的内容-集合是值的无序集合。我不以任何方式对此提出异议。

对我来说没有意义并且我无法理解的是,在 Python3.9 中创建一组整数 1、3、5 和 7 时,它们总是按顺序检索/打印。其他整数集按预期无序存储(据我检查)。我想我要问的是,这是 Python 的一个怪癖,集合论的误称,还是只是一个令人难以置信的边缘巧合?

我在与下面的代码不同的代码中遇到了这个怪癖,但是,我必须检查所有可能的创建集合的方法,这就是我分享的内容:

listOfSets =    [
                {1, 3, 5, 7},
                {1, 3, 7, 5},
                {1, 5, 3, 7},
                {1, 5, 7, 3},
                {1, 7, 5, 3},
                {1, 7, 3, 5},
                {7, 3, 5, 1},
                {7, 3, 1, 5},
                {7, 5, 3, 1},
                {7, 5, 1, 3},
                {7, 1, 5, 3},
                {7, 1, 3, 5},
                {5, 3, 1, 7},
                {5, 3, 7, 1},
                {5, 1, 3, 7},
                {5, 1, 7, 3},
                {5, 7, 1, 3},
                {5, 7, 3, 1},
                {3, 1, 5, 7},
                {3, 1, 7, 5},
                {3, 5, 1, 7},
                {3, 5, 7, 1},
                {3, 7, 5, 1},
                {3, 7, 1, 5},
                ]

for x in listOfSets:
    print(x)

输出:

{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}
{1, 3, 5, 7}

标签: pythonpython-3.xset

解决方案


推荐阅读