为什么 (1 in [1,0] == True) 的计算结果为 False?

2024-04-26

当我在寻找答案时这个问题 https://stackoverflow.com/questions/9201445/python-best-way-to-keep-track-of-results-from-loop,我发现我不明白自己的答案。

我真的不明白这是如何解析的。为什么第二个示例返回 False?

>>> 1 in [1,0]             # This is expected
True
>>> 1 in [1,0] == True     # This is strange
False
>>> (1 in [1,0]) == True   # This is what I wanted it to be
True
>>> 1 in ([1,0] == True)   # But it's not just a precedence issue!
                           # It did not raise an exception on the second example.

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    1 in ([1,0] == True)
TypeError: argument of type 'bool' is not iterable

谢谢你的帮助。我想我一定错过了一些非常明显的东西。


我认为这与链接的副本略有不同:

为什么 Python 中的表达式 0 . https://stackoverflow.com/questions/6074018/why-does-the-expression-0-0-0-return-false-in-python

这两个问题都与人类对表达的理解有关。 (在我看来)似乎有两种评估表达式的方法。当然,两者都不正确,但在我的例子中,最后一种解释是不可能的。

看着0 < 0 == 0你可以想象每一半都被评估并作为一个表达式有意义:

>>> (0 < 0) == 0
True
>>> 0 < (0 == 0)
True

所以这个链接回答了为什么要这样评估False:

>>> 0 < 0 == 0
False

但以我的例子来说1 in ([1,0] == True)作为一个表达式没有意义,所以不是有两种(诚然是错误的)可能的解释,而是只有一种可能:

>>> (1 in [1,0]) == True

Python实际上在这里应用了比较运算符链接。该表达式被翻译为

(1 in [1, 0]) and ([1, 0] == True)

这显然是False.

对于像这样的表达式也会发生这种情况

a < b < c

翻译为

(a < b) and (b < c)

(不评估b twice).

See the Python语言文档 http://docs.python.org/reference/expressions.html#not-in了解更多详情。

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

为什么 (1 in [1,0] == True) 的计算结果为 False? 的相关文章

  • 根据另一个数据框中的数据量删除一个数据框中的行

    我有两个 pandas 数据框A and B B是 A 的子集 我想删除 A 中的所有数字 如果 B 中存在该数字 But 如果一个数字在 A 中出现两次 在 B 中出现 1 次 那么它只会从 A 中删除该数字的 1 次出现 这是我的示例数
  • Python数据框将列表列分解为多行[重复]

    这个问题在这里已经有答案了 我有一个像这样的数据框 desc id info a b c 2 type u v w 18 tail 三列 desc id info desc 是一个列表 我想要这个 des id info a 2 type
  • winpdb 不适用于 python 3.3

    我无法让 rpdb2 与 python 3 3 一起运行 但根据多个来源 这应该是可能的 rpdb2 d myscript py A password should be set to secure debugger client serv
  • Python:合并嵌套列表

    初学者在这里 我有 2 个要合并的嵌套列表 list1 a b c d e f g h list2 p q r s t u v w 我正在寻找的输出是 list3 a p q b c r s d e t f g h u v w 这可以在没有
  • 在 Kivy 应用程序中获取文本输入值

    Python Kivy 新手尝试构建一个测试应用程序 其中包含输入框 确定按钮和单击确定按钮时应更改文本的标签 但我得到了 NameError 全局名称 txt1 未定义 我究竟做错了什么 import Kivy import kivy i
  • Pythonic方式逐行读取文件?

    以下两种方法中逐行读取文件的 Pythonic 方法是什么 with open file r as f for line in f print line or with open file r as f for line in f read
  • Pandas 无法读取使用 h5py 创建的 hdf5 文件

    当我尝试读取使用 h5py 创建的 HDF5 格式文件时 出现 pandas 错误 我想知道我是否只是做错了什么 import h5py import numpy as np import pandas as pd h5 file h5py
  • 冻结(.exe)一个traitsUI程序,现实可行吗?

    我正在尝试使用 cx freeze 或 pyInstaller 冻结一个 TraitsUI 程序 该程序利用 Chaco Traits TraitsUI 以及较小程度的 mayavi 实际上可以取出 我需要它在 mac linux ubun
  • PySide2/QML 填充 Gridview 模型/委托并为其设置动画

    我是 QML 的新手 正在寻求以下几点帮助 如何基于 TextField 输入 如 Regex 通过 PySide2 过滤 Gridview 模型中的 QAbstractListModel 数据 标题 如何在鼠标悬停时为 Gridview
  • 将 csv 写入谷歌云存储

    我试图了解如何将多行 csv 文件写入谷歌云存储 我只是没有遵循文档 https googlecloudplatform github io google cloud python stable storage blobs html hig
  • matplotlib 轴标签偏移量的因素和变化

    在 matplotlib 中的轴刻度标签上 有两种可能的偏移量 factors and shifts 在右下角 1e 8 是一个 因子 1 441249698e1 是一个 移位 这里有很多答案展示了如何操纵两个都 matplotlib 将轴
  • 返回 OSError 异常类的子类实例的逻辑在哪里?

    我一直在寻找一些对某些人来说可能相对愚蠢的东西 但对我来说非常有趣 输入和输出错误已合并为OSError在 Python 3 3 中 异常类层次结构发生了变化 关于内置类的一个有趣的特性OSError是这样 它在传递时返回它的子类errno
  • 当前异常上下文掩盖了先前的错误

    以下是我在 Doug Hellman 网站上名为 masking exceptions catch py 的文件中找到的示例 我暂时无法找到链接 throws 中引发的异常将被丢弃 而 cleanup 中引发的异常将被报告 道格在他的文章中
  • 第 100 次避免循环导入

    Summary 我继续有一个ImportError在一个复杂的项目中 我已经将其蒸馏到仍然会出现错误的最低限度 Example 巫师有装有绿色和棕色药水的容器 这些可以添加在一起 产生同样是绿色或棕色的新药水 我们有一个PotionABC
  • 是否可以使用 Google BERT 来计算两个文本文档之间的相似度?

    是否可以使用 Google BERT 来计算两个文本文档之间的相似度 据我了解 BERT 的输入应该是有限大小的句子 一些作品使用 BERT 来计算句子的相似度 例如 https github com AndriyMulyar semant
  • 使用 PyODBC 选择表中的列名

    我正在编写一个 Python 程序 该程序使用 PyODBC 从 Microsoft Access mdb 文件中选择一些数据 我需要发现几个不同表的列名 在 SQL Server 中 这可以通过使用类似的查询来完成 SELECT c na
  • 如何使用 np.newaxis?

    What is numpy newaxis https numpy org doc stable reference constants html numpy newaxis我什么时候应该使用它 在一维数组上使用它x产生 gt gt gt
  • 从 C++ 检索 Python 类型

    这个问题实际上是以下两个问题的延伸 如何在 Python 中实现 C 类 以供 C 调用 https stackoverflow com questions 9040669 how can i implement a c class in
  • Python 装饰器只是语法糖? [复制]

    这个问题在这里已经有答案了 可能的重复 了解 Python 装饰器 https stackoverflow com questions 739654 understanding python decorators 我对使用 Python 装
  • 无法比较类型“ndarray(dtype=int64)”和“str”

    Example of data that I want to replace 数据具有以下属性 购买 V 高 高 中 低 维持 V 高 高 中 低 门 2 3 4 5 更多 2 4人以上 lug boot 小 中 大 安全性低 中高 这就是

随机推荐

  • 图片上传亚马逊s3 android SDK 2.0

    我想将图像上传到 android 中的亚马逊 s3 存储桶 我没有收到任何错误 但它不起作用有人可以帮助我吗 我找不到任何关于此的好的例子或问题 我将图像分配给 文件图像3 images3 new File uri getPath publ
  • 带有@null背景的图像按钮(透明)[重复]

    这个问题在这里已经有答案了 我有一个图像按钮 其图像源具有透明度 但图像按钮的背景颜色是典型的灰色按钮颜色 我想设置背景 null 这工作正常 但是 当我按下此图像按钮时 我看不到指示我按下按钮的颜色 如果我按下按钮时删除背景 null 请
  • VSCode:找不到任务中的环境变量

    我试图在 VSCode 的tasks json 中定义我自己的环境变量 根据到目前为止我找到的每个链接 我尝试了以下操作 version 2 0 0 type shell options env APP NAME myApp problem
  • KineticJS - 如何在按钮单击时更改图像 src

    我试图通过单击按钮来更改kineticjs阶段中图像的src 我有一个可拖动的图像 在本例中为达斯维德 和顶部的静态图像 在本例中为猴子 单击按钮后 我希望能够用新图像替换可拖动图像 yoda JSFiddle 可以在这里看到 http j
  • spring框架中的命令对象是什么[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 你能解释一下吗Spring框架中的命令对象及其示例 来自 Spring 文档 Command Object 将使用表单中的数据填充的 Ja
  • 如何从 Intellij Maven 项目中永久删除模块?

    我目前正在 IntelliJIdea 12 1 6 Ultimate 中开发一个更大规模的基于 Maven 的项目 我使用 IntelliJIdea 已有大约 5 个月的时间了 包含的模块依赖于另一个模块 直到最近 依赖模块的源代码也是我项
  • Git 和 Dropbox - 本地存储库

    我阅读了大量有关 Dropbox 和 Git 功能结合的帖子并观看了许多视频 其中一个线程是这样的 有效地结合使用 Git 和 Dropbox https stackoverflow com questions 1960799 using
  • jQuery 中的“#”字符(数字符号)是什么意思?

    我是 Javascript 新手 我正在尝试理解一些代码 我不明白 也找不到任何有关的文档 sign function searchTerm autocomplete searchTerm 是什么意思 现在 可能意味着私有实例字段 http
  • 编译器“何时”隐式声明默认构造函数?

    我知道如果我们不声明它 编译器将生成一个默认构造函数 何时 是我感到困惑的一点 A class Base int main return 0 B class Base int main Base b Declare a Base objec
  • java程序计算XIRR而不使用excel或任何其他库

    我的应用程序必须计算XIRR 但我不能使用excel 因为它在Linux上运行 任何人都可以共享逻辑或java代码来计算XIRR而不使用excel 正如帖子中所述 C 中的 xirr 计算 https stackoverflow com q
  • Django - 从单独的应用程序导入视图

    我是 Django 新手 正在阅读 Holovaty 和 Kaplan Moss 所著的 Django Book 我有一个名为 mysite 的项目 其中包含两个名为 books 和 contact 的应用程序 每个都有自己的 view p
  • Selenium Python:如何在点击后等待页面加载?

    我想在点击后获取页面的页面源 然后使用 browser back 函数返回 但是 Selenium 不会让页面在点击后完全加载 并且 JavaScript 生成的内容不会包含在该页面的页面源中 element i click Need to
  • 在分页数之间添加点

    我已经用 PHP 和 AJAX 为表格编写了分页代码 每页将显示表格的 8 行 到这里为止一切正常 我现在需要的是使分页看起来像一系列数字和它们之间的点 如下所示 1 2 3 27 28 29 我有两个用于分页的文件 conf php
  • Ruby 请求 https - “在‘read_nonblock’中:连接被对等方重置 (Errno::ECONNRESET)”

    这是我的代码 domain http www google com url URI parse https graph facebook com fql q SELECT 20url normalized url 20FROM 20link
  • java.lang.NoSuchMethodError: 'com.google.common.collect.ImmutableMap 尝试使用 Chromedriver 和 Maven 执行测试时出错

    我是硒测试的新手 目前正在使用 Maven 观看一些 YouTube 视频 今天 我尝试了一些代码并且工作正常 但是当访问一个商店页面并尝试搜索产品时 它给我 访问被拒绝 消息 于是我尝试了几种打开chrome而不是chromedriver
  • 根据 Web.config Transform 中的子节点值选择节点

    我的 Web 配置中有以下 XML 我想使用 web config 转换选择要删除的属性 但我想根据其中一个子元素的值选择要删除的元素 我的 web config 是这样的
  • 执行bash脚本时如何显示行号

    我有一个测试脚本 其中有很多命令并将生成大量输出 我使用set x or set v and set e 因此当发生错误时脚本将停止 但我还是很难定位到哪一行执行停止了 从而定位问题所在 有没有一种方法可以在每行执行之前输出脚本的行号 或者
  • 使用简单注入器进行方法级属性拦截

    借助 Unity 我能够快速添加基于属性的拦截 如下所示 public sealed class MyCacheAttribute HandlerAttribute ICallHandler public override ICallHan
  • 城堡单轨铁路和 ELMAH

    有人成功使用 Castle MonoRail 和 ELMAH 吗 我们使用许多 Resuces 向用户提供友好的错误消息 但如果我们这样做 异常永远不会到达 ELMAH 因为 MonoRail 救援会拦截它们 理想情况下 我们希望用户看到救
  • 为什么 (1 in [1,0] == True) 的计算结果为 False?

    当我在寻找答案时这个问题 https stackoverflow com questions 9201445 python best way to keep track of results from loop 我发现我不明白自己的答案 我