集合是确定性的吗? [复制]

2024-02-26

当阅读诸如此类的问题时从 python 中的列表中获取唯一值 https://stackoverflow.com/questions/12897374/get-unique-values-from-a-list-in-python可以看到订单的备注是可以不保留的。

这是可以理解的。让我烦恼的是它走得更远——正如我所看到的,执行甚至不是确定性的,即:

list(set(values_list))

我将获得唯一的值,问题是每次运行结果都会以不同的顺序排列。所以这意味着set(构造函数或枚举器)不是确定性的。

我想知道这是怎么发生的?我不明白为什么在单线程执行时(?)你会得到不确定的行为。

当然,人们可以对结果进行排序以强制执行确定性行为,但是一旦您观察到手头有非确定性代码,您就可以得到这样的想法。

Update:

我的代码的本质——该文件是一个包含 10 000 个字符串数组(具有 3 个唯一值)的 pickle。

combined = pickle.load(open("labels.p", "rb"))
label_keys = list(set(combined))
print(label_keys)

每次运行我都会得到不同的订单。哦,我用的是Python 3.6.4。


到目前为止我还没有看到这个问题:

>>> values_list = range(100) * 3
>>> a = list(set(values_list))
>>> b = list(set(values_list))
>>> a == b
True
>>> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集合是确定性的吗? [复制] 的相关文章

  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • Lighttpd 和 cgi python

    我正在尝试通过 lighttpd 执行一些 python 脚本 但是当我尝试运行它时 我只得到一个要求我下载的空白文件 lighttpd conf server modules mod access mod alias mod access
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • Pandas 日期时间格式

    是否可以用零后缀表示 pd to datetime 似乎零被删除了 print pd to datetime 2000 07 26 14 21 00 00000 format Y m d H M S f 结果是 2000 07 26 14
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • 如何在 Python 中解析和比较 ISO 8601 持续时间? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Python v2 库 它允许我解析和比较 ISO 8601 持续时间may处于不同单
  • 如何使用python在一个文件中写入多行

    如果我知道要写多少行 我就知道如何将多行写入一个文件 但是 当我想写多行时 问题就出现了 但是 我不知道它们会是多少 我正在开发一个应用程序 它从网站上抓取并将结果的链接存储在文本文件中 但是 我们不知道它会回复多少行 我的代码现在如下 r
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • Jupyter Notebook 找不到 Python 模块

    不知道发生了什么 但每当我使用 ipython 氢 原子 或 jupyter 笔记本时都找不到任何已安装的模块 我知道我安装了 pandas 但笔记本说找不到 我应该补充一点 当我正常运行脚本时 python script py 它确实导入
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 如何在 pygtk 中创建新信号

    我创建了一个 python 对象 但我想在它上面发送信号 我让它继承自 gobject GObject 但似乎没有任何方法可以在我的对象上创建新信号 您还可以在类定义中定义信号 class MyGObjectClass gobject GO
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以

随机推荐

  • 用一个命令截断 MySQL 数据库中的所有表?

    是否有一个查询 命令 可以在一次操作中截断数据库中的所有表 我想知道是否可以通过一个查询来完成此操作 删除 即删除表 mysql Nse show tables DATABASE NAME while read table do mysql
  • 如何在Java中查找与通配符字符串匹配的文件?

    这应该很简单 如果我有一个像这样的字符串 Test sample txt 那么获取与此模式匹配的文件列表的普遍接受的方法是什么 例如 它应该匹配 Test1 sample22b txt and Test4 sample spiffy txt
  • SQL Server FOR XML - 基本查询

    我已经获得了一个 XML 文档 我想通过 SQL 脚本生成该文档 但我没有做过类似的事情 也无法找到任何可以引导我生成所需的最终 XML 的示例 我不确定哪种可能的方法更适合我的需要 EXPLICIT 或 PATH 或者甚至可能 我希望在从
  • Laravel 以数组形式获取翻译文件的内容

    你能帮我解决以下问题吗 我需要将翻译文件的内容作为数组获取 无论它是否是PHP文件或一个JSON file 假设我的项目中有以下结构 laravel project resources lang en es file1 php file2
  • QueryDSL 与注释处理器的 Gradle 配置

    我搜索了很多关于配置的信息QueryDSL with Gradle 我想配置注释处理器 以使用特定的注释 Generated在生成的类上 但我只能在这里找到这个链接 Gradle 无法生成 QueryDSL 类 https stackove
  • 在 winform C# 中加载 asp.net 网站

    我有一个 n MDI Windows 窗体应用程序 它包含两种形式 一种形式 测量数据 控制引擎 另一种形式 实验室 应显示我的 asp net 网站 该网站有各种任务供用户执行 如何在该实验室表单中显示 asp net 默认页面 我在用着
  • Oracle:是否可以为模式创建同义词?

    Firstly 我是一个oracle新手 并且我没有当地的oracle大师来帮助我 这是我的问题 问题 我有一些 SQL 脚本必须发布到多个 Oracle 实例 这些脚本创建存储过程 创建存储过程的架构与包含存储过程从中读取的表的架构不同
  • 在 PYOMO 中为 2 个变量定义特定值集

    我正在尝试使用多个变量分配材料属性 例如 密度和电导率是材料 1 材料 2 和材料 3 的两个决策变量 我必须输入以下信息 density of material 1 1000 density of material 2 2000 dens
  • 使用 Spring Boot 异步自定义 ThreadPoolTask​​Executor

    我有一个 Spring Boot 应用程序 负责通过 REST 应答请求 我还推送有关我的应用程序调用的指标 由于这是一项单独的任务 并且我必须立即响应用户 因此我希望异步发布该指标 所以我用过 ThreadPoolTaskExecutor
  • C# 中的双按位非 (~~)

    我一直在读ThreadLocal
  • 我可以在 DDD 中拥有“不完整”的聚合吗?

    DDD 规定您只能通过实体的聚合根来访问实体 举例来说 你有一个聚合根 X 它可能有一个lot子 Y 实体的数量 现在 对于某些场景 您一次只真正关心这些 Y 实体的子集 也许您将它们显示在分页列表或其他内容中 那么是否可以实现一个存储库
  • 如何修复 oh-my-zsh 插件无法工作的问题

    我刚刚发现了 oh my zsh 但我无法让它工作 虽然主题可以完美地工作 但插件却不能 我选择了一些插件 例如 macports 但我既没有完成端口命令 也没有适当的别名工作 这是我的 zshrc Path to your oh my z
  • 使用 React 在 Material UI 对话框中形成表单

    我正在尝试让一个表单在 Material UI Dialog 组件中工作 如果我将对话框包装在表单标签中 它们甚至不会出现在生成的 html 中 还不知道为什么
  • 有 HTML5 注册机示例吗?

    我很难理解如何使用
  • 比较 Struts2 标签中的字符串

    我有一个index jsp页面 其中某些元素根据用户是否登录而打开 关闭
  • Laravel MIME 验证

    我遇到了一个麻烦 关于使用 Laravel 验证 JavaScript 文件的上传 其中验证规则是 javascript file gt required mimes js 据我所知 这应该有效 因为 Laravel 使用mime cont
  • 在 Android 中将应用程序上下文放入静态方法的最佳方法

    我正在开发一个具有多个活动的 Android 应用程序 其中我有一个带有几个静态方法的类 我希望能够从不同的活动中调用这些方法 我使用静态方法通过 XmlResourceParser 从 xml 文件加载数据 要创建 XmlResource
  • Coinbase Python API 上的分页

    我正在尝试获取 Coinbase 帐户上的所有交易 这需要分页 这文档 https developers coinbase com api v2 javascript pagination关于如何在 Python 中执行此操作的信息很少 但
  • 如何使用 Selenium 和 C# 删除元素属性?

    下面是我想要从中删除 disabled disabled 并关闭开发工具窗口的html块 我正在使用 selenium webdriver 和 c 谢谢 a class btn btn success href Click to Submi
  • 集合是确定性的吗? [复制]

    这个问题在这里已经有答案了 当阅读诸如此类的问题时从 python 中的列表中获取唯一值 https stackoverflow com questions 12897374 get unique values from a list in