python - set 返回的元素顺序
问题描述
所以我将一个包含重复元素的列表转换为一个集合,让每个元素出现一次。我知道集合是无序的,所以它们会按照给定的顺序显示元素。我运行了下面的脚本,我注意到一个奇怪的输出。
mylist = [1,2,2,33,4,4,11,22,3,3,2]
print(set(mylist))
输出将是:
{1, 2, 33, 4, 3, 11, 22}
原始列表中的 3 出现在 11 和 22 之后,那么为什么它在集合中出现在它们之前呢?
解决方案
Python 中的集合没有顺序
集合对象是不同的可散列对象的无序集合。常见用途包括成员资格测试、从序列中删除重复项以及计算数学运算,例如交集、并集、差分和对称差分。
https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset
推荐阅读
- jqgrid - 如何冻结 JqGrid 中的动态列?
- jquery - 如何在不刷新的情况下使用 Ajax 在 ASP.NET MVC 中保存表单数据
- javascript - 如何在angularjs中为选择设置默认值
- regex - 删除只有数字的行 - 正则表达式
- php - 为什么 ActiveMQ 通过 Stomp 向我的 PHP 消费者传递重复的消息?
- sql - PostgreSQL:基于数组(外键)列连接 2 个表
- angular6 - 使用 IE 9 的 useHash true 在 Angular 6 中获取查询参数
- phpunit - 如何使用包 phpunit 为 sublime text 3 创建 phpunit.xml 文件
- php - Slim 3 重定向路由循环不起作用
- powershell - 最佳实践 - 如果匹配返回结果