为什么长度为 1 的元组的元组实际上不是元组,除非我添加逗号?

2023-12-11

给定一个元组的元组T:

(('a', 'b'))

和一个单独的元组t1:

('a','b')

为什么:

t1 in T

返回假?

更新:来自 Ipython:

In [22]: T = (('a','b'))

In [23]: t1 = ('a','b')

In [24]: t1 in T
Out[24]: False

那么如何检查一个元组是否在另一个元组中呢?


问题是因为 T 不是元组的元组,它只是一个元组。逗号构成元组,而不是括号。应该:

>>> T = (('a','b'),)
>>> t1 = ('a', 'b')
>>> t1 in T
True

事实上,你可以去掉外括号:

>>> T = ('a','b'),
>>> t1 = 'a','b'
>>> type(T)
<type 'tuple'>
>>> type(T[0])
<type 'tuple'>
>>> type(t1)
<type 'tuple'>
>>> t1 in T
True

尽管有时需要它们来确定优先级,但如果有疑问,请将它们放入。但请记住,正是逗号使其成为元组。

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

为什么长度为 1 的元组的元组实际上不是元组,除非我添加逗号? 的相关文章

随机推荐

  • 结构 - 解释输出:

    我有以下 C 代码 struct values int a 3 int b 3 int c 2 void main struct values v 2 6 5 printf d d d v a v b v c 当我执行代码时 我得到以下输出
  • 怎样解决二段跳的问题

    我遵循了 Roll A Ball 的 Unity 教程 并添加了一些扩展 球现在可以跳跃 但每次跳跃的次数太多 当我按下空格键时 我只想一次接球 现在我可以按空格键 3 次 它会跳得越来越高 if Input GetKeyDown KeyC
  • 在 Spring Kafka 中结合阻塞和非阻塞重试

    我正在尝试通过单个主题固定回退来实现非阻塞重试 感谢文档 我能够做到这一点https docs spring io spring kafka reference html single topic fixed delay retries 现
  • Visual Studio Code:如何显示行结尾

    如何在 Visual Studio Code 中 而不是在 Visual Studio 中 显示行尾 CR LF 目前只有一个小状态栏菜单 可以显示 更改实际文件的行结尾 但有时 直接在每一行中看到行结尾会很棒 特别是当存在混合行结尾时 不
  • 如何在 Eclipse 中安装 Hibernate Tools?

    在 Eclipse 中将 Hibernate Tools 作为插件安装的正确方法是什么 这休眠站点并没有真正给出任何指示 查看 Hibernate Tools 二进制文件HibernateTools 3 2 4 Beta1 R2008103
  • 如何知道拖动的元素是在哪个元素上?

    我在使用 jQuery 拖放时遇到问题 我有一个可拖动元素和很多 dropTarget 所以我只想知道当我拖动时 我的拖动元素位于哪个元素之上 顺便说一句 Firefox 提供了 event originalTarget 来指向 DOM 元
  • 如何将自定义 URL 参数添加到 MVC RedirectToAction

    我目前有一个简单的 MVC RedirectToAction 操作 return RedirectToAction Edit Customers new Id iNewId 它重定向到Cutomers Edit 1 不过 我想将一些自定义值
  • org.openqa.selenium.json.JsonException:预期读取 START_MAP,但结果却是:END。通过 Node 执行测试时读取的最后 0 个字符

    我是 Selenium 的新手并开始学习它 但 Selenium Grid 不适合我 使用的服务器版本是selenium server standalone 3 14 0 jar 使用命令 集线器和节点正在运行 将节点添加到 hub 的代码
  • Objective C >> 有没有办法检查选择器返回值?

    假设我有一个选择器 可以分配给几个不同的方法 每个方法都有不同的返回值 有没有办法在调用 performSelector 之前检查选择器所持有的方法的返回值是什么 有没有办法在调用 performSelector 之前检查选择器所持有的方法
  • 如何根据条件使 string.Format() 的参数可选?

    If hasSecond false 我想写 myString string Format CultureInfo InvariantCulture 0 first If hasSecond true 我想写 myString string
  • 从 HTA 应用程序打开程序

    我正在尝试创建一个 HTA 应用程序 它可以在计算机上本地打开程序 exe bat 等 这将在 Kiosk PC 上使用 用户无法访问桌面等 但在寻找有效的脚本时遇到一些问题 现在我正在使用这个脚本 这就是我的链接的样子 a href a
  • Collectors.reducing 方法在用作 Collectors.partitionBy 的下游时更新相同的标识

    我有一个类似于下面的课程MyObject public class MyObject private String key not unique multiple objects can have the same key private
  • 如何使用函数式编程正确替换“扩展”?

    我正在研究如何在 javascript 中应用函数式编程 并且我正在尝试避免使用class关键词 我不喜欢仅仅为了遵循某些范例而采取极端措施 但我很好奇是否可以在不使用类的情况下编写好的代码 到目前为止 我主要使用函数取得了成功 但有一种情
  • C - printf() 不工作,但 put() 工作正常

    void read class information head beginning int scale type puts hello printf hello 我有一个由 main 调用的简单函数 并且 stdout 的 printf
  • 密码验证正则表达式

    我正在尝试获取一个执行以下操作的正则表达式 确保没有空格字符 最小长度为 8 makes sure there is at least 一个非字母字符 一个大写字符 一个小写字符 我发现这个正则表达式 a zA Z a z A Z s 8
  • 如何高效地比较Set? [复制]

    这个问题在这里已经有答案了 给定两个集合 如何在 Java 中有效地比较它们 a 将它们保留为Lists 对它们进行排序并比较 Comparable b 将它们保留为Set并比较hashCode集合的 背景 需要进行很多比较 集合很小 通常
  • 从 ViewPager 获取焦点视图

    我使用 ViewPager 通过左 右滑动来切换视图 ViewPager 需要一个适配器 所以我构建了这个 public class ListViewPagerAdapter extends PagerAdapter protected s
  • 有希望的 API 回调 - 如何正确解决或拒绝

    我读过类似的文章 但没有一篇文章很明确如何正确地做到这一点 我了解 Promise 以及它们通常是如何通过成功和失败监听器创建的 等待触发解决或拒绝 我不明白的是当我调用以成功和失败回调作为参数的 API 方法 如何确定正在触发哪个回调 以
  • 在 C# 中将位图转换为布尔数组的快速方法?

    我正在制作一个 XNA 应用程序 每秒从网络摄像头捕获屏幕截图 4 次 然后当像素颜色红色低于某个阈值时尝试将其转换为布尔数组 当我将其转换为 Texture2D 时 它不会滞后 但当我尝试获取单个像素时 即使网络摄像头分辨率为 176x1
  • 为什么长度为 1 的元组的元组实际上不是元组,除非我添加逗号?

    给定一个元组的元组T a b 和一个单独的元组t1 a b 为什么 t1 in T 返回假 更新 来自 Ipython In 22 T a b In 23 t1 a b In 24 t1 in T Out 24 False 那么如何检查一个