为什么list(set([[2,1,3,6,5,3,6,4]))自动排序列表?

阿德林

set在python中进行实验,虽然我了解它是未排序的,但基于哈希值,但我发现奇怪的是,它在Python 2和3中都自动对这些数字进行了排序:

>>> list(set([2,1,3,6,5,3,6,4]))
[1, 2, 3, 4, 5, 6]
>>> list(set([2,1,3,6,5,3,6,4,0,7]))
[0, 1, 2, 3, 4, 5, 6, 7]

我用谷歌搜索了一段时间,但没有找到结合这两个功能的答案。

Devesh库玛·辛格

没有,这是一个例子

In [2]: list(set([1,9,5,10]))                                                                                                                                                                                                
Out[2]: [1, 10, 5, 9]

另外,从文档中获取:https : //docs.python.org/3/library/stdtypes.html#set-types-set-frozenset

集合对象是不同的可哈希对象的无序集合。

有时您看到排序后的输出的原因取决于的hash计算方式,有时取决于所使用的REPL,并且此行为在此答案中得到了很好的描述。

例如,对于ipython,该组被印刷的方式,改变当我们使doctest_mode,禁用pretty-printingipython

In [1]: set([1,6,8,4])                                                                                                                                                                                                       
Out[1]: {1, 4, 6, 8}

In [2]: %doctest_mode                                                                                                                                                                                                        
Exception reporting mode: Plain
Doctest mode is: ON
>>> set([1,6,8,4])                                                                                                                                                                                                           
{8, 1, 4, 6}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么n = [1,2,3,4,5,6,7,8],n [:6:-2]在Python中是[8]?

来自分类Dev

有人可以解释为什么此代码返回6 6 6 6 6而不是1 2 3 4 5

来自分类Dev

Ruby排序-为什么“预期:[7、6、5、5、4、3、3]”时rspec错误似乎与“获得:[7、6、5、5、4、3、3]”相同?

来自分类Dev

想要根据 a1<=a2>=a3<=a4>=a5<=a6.....an 的条件对列表进行排序

来自分类Dev

如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

来自分类Dev

重新排列 PHP 数组,将 1、2、3、4、5、6、7、8、9 重新排序为 1、4、7、2、5、8、3、6、9

来自分类Dev

R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

来自分类Dev

为什么 int arr[]={0,3,2,4,5,6,7}; 给出错误和 int arr[7]={0,3,2,4,5,6,7}; 不是

来自分类Dev

设计不同的类以计算和打印以下序列(1/2)+(2/3)+(3/4)+(4/5)+(5/6)+ ......的总和。 ... +((n-1)/ n)

来自分类Dev

无法将“{1, 2 ,3, 4, 5, 6}”转换为 list<int> C++?

来自分类Dev

交换以2的[1,2,3,4,5,6] = [2,1,4,3,6,5]分组的相邻元素

来自分类Dev

排序列表 A2 A4 A1 A3 到 A1 A2 A3 A4

来自分类Dev

在Java中找到1=>5的函数;2=>4;3=>3; 4=>2;5=>1;6=>7;7=>6;

来自分类Dev

将 int ([3,6]) 数组转换为 [[1,2,3],[1,2,3,4,5,6]]

来自分类Dev

如何转换list1中的list = [1,2,[3,4],[5,6],7,[8,9,10]] = [1,2,3,4,5,6,7,8 ,9,10]在python中?

来自分类Dev

这个矩阵函数返回输入“'1 2 3\n4 5 6”的列的确切步骤是什么?

来自分类Dev

批处理文件中cp%1%2%3%4%5%6%7%8%9的含义是什么

来自分类Dev

echo [9876543210]显示1 4 5 6 ...为什么?

来自分类Dev

vector <int> + = 1,1,2,2,2,3,4,5,6如何; 可能?

来自分类Dev

为什么CSS选择器“ h1,h2,h3,h4,h5,h6 + p”不起作用,还有什么替代方法?

来自分类Dev

如何使用张量流将 [1,2,3,4,5,6] 重塑为 [[1,3,5],[2,4,6]]?

来自分类Dev

如何在R中将c(1,2,3)和c(4,5,6)连接到c(1,4,2,5,3,6)?

来自分类Dev

为什么在JavaScript中1+ +“ 2” +3的结果为6?

来自分类Dev

为什么6 /长度[1、2、3]在Haskell中不起作用

来自分类Dev

這是一個關於碼商的 mq 問題。我試過 [3 0 5 2 7] ,[2 1 4 3 6], [1 2 3 4 5]

来自分类Dev

什么是“自动asd =(2,3,4,5);” 做?

来自分类Dev

$ str =“ 1,2,3,4,5,6,7”; 如何获得价值的总和?

来自分类Dev

将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

来自分类Dev

while循环| 反向计数n .... 8 7 6 5 4 3 2 1

Related 相关文章

  1. 1

    为什么n = [1,2,3,4,5,6,7,8],n [:6:-2]在Python中是[8]?

  2. 2

    有人可以解释为什么此代码返回6 6 6 6 6而不是1 2 3 4 5

  3. 3

    Ruby排序-为什么“预期:[7、6、5、5、4、3、3]”时rspec错误似乎与“获得:[7、6、5、5、4、3、3]”相同?

  4. 4

    想要根据 a1<=a2>=a3<=a4>=a5<=a6.....an 的条件对列表进行排序

  5. 5

    如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

  6. 6

    重新排列 PHP 数组,将 1、2、3、4、5、6、7、8、9 重新排序为 1、4、7、2、5、8、3、6、9

  7. 7

    R:如何制作序列(1,1,1,2,3,3,3,4,5,5,5,6,7,7,7,8)

  8. 8

    为什么 int arr[]={0,3,2,4,5,6,7}; 给出错误和 int arr[7]={0,3,2,4,5,6,7}; 不是

  9. 9

    设计不同的类以计算和打印以下序列(1/2)+(2/3)+(3/4)+(4/5)+(5/6)+ ......的总和。 ... +((n-1)/ n)

  10. 10

    无法将“{1, 2 ,3, 4, 5, 6}”转换为 list<int> C++?

  11. 11

    交换以2的[1,2,3,4,5,6] = [2,1,4,3,6,5]分组的相邻元素

  12. 12

    排序列表 A2 A4 A1 A3 到 A1 A2 A3 A4

  13. 13

    在Java中找到1=>5的函数;2=>4;3=>3; 4=>2;5=>1;6=>7;7=>6;

  14. 14

    将 int ([3,6]) 数组转换为 [[1,2,3],[1,2,3,4,5,6]]

  15. 15

    如何转换list1中的list = [1,2,[3,4],[5,6],7,[8,9,10]] = [1,2,3,4,5,6,7,8 ,9,10]在python中?

  16. 16

    这个矩阵函数返回输入“'1 2 3\n4 5 6”的列的确切步骤是什么?

  17. 17

    批处理文件中cp%1%2%3%4%5%6%7%8%9的含义是什么

  18. 18

    echo [9876543210]显示1 4 5 6 ...为什么?

  19. 19

    vector <int> + = 1,1,2,2,2,3,4,5,6如何; 可能?

  20. 20

    为什么CSS选择器“ h1,h2,h3,h4,h5,h6 + p”不起作用,还有什么替代方法?

  21. 21

    如何使用张量流将 [1,2,3,4,5,6] 重塑为 [[1,3,5],[2,4,6]]?

  22. 22

    如何在R中将c(1,2,3)和c(4,5,6)连接到c(1,4,2,5,3,6)?

  23. 23

    为什么在JavaScript中1+ +“ 2” +3的结果为6?

  24. 24

    为什么6 /长度[1、2、3]在Haskell中不起作用

  25. 25

    這是一個關於碼商的 mq 問題。我試過 [3 0 5 2 7] ,[2 1 4 3 6], [1 2 3 4 5]

  26. 26

    什么是“自动asd =(2,3,4,5);” 做?

  27. 27

    $ str =“ 1,2,3,4,5,6,7”; 如何获得价值的总和?

  28. 28

    将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

  29. 29

    while循环| 反向计数n .... 8 7 6 5 4 3 2 1

热门标签

归档