如何检查列表中的所有元素是否相同?

2023-11-23

如果我有这个清单;

mylist = ['n', 'n', '4', '3', 'w']

我如何让它读取列表,并告诉我它们是否都相同?

我知道在这个例子中很容易看出它们并不完全相同。我有更大的清单,我希望它为我阅读。

我会使用以下方法来解决这个问题:

min(...)

如果是这样,我将如何输入每个列表项?


你可以像这样使用集合

len(set(mylist)) == 1

解释

集合中仅存储独特的项目。因此,我们尝试将列表转换为集合。转换后,如果集合中有多个元素,则意味着列表中并非所有元素都相同。

Note:如果列表中有不可散列的项目(如列表、自定义类等),则set方法无法使用。但我们可以使用@falsetru建议的第一种方法,

all(x == mylist[0] for x in mylist)

优点:

  1. 它甚至适用于不可散列的类型

  2. 它不会在内存中创建另一个临时对象。

  3. 第一次故障后它会短路。如果第一个和第二个元素不匹配,则返回False立即,而在set方法中的所有元素都必须进行比较。因此,如果列表很大,您应该更喜欢all方法。

  4. 即使列表实际上是空的,它也能工作。如果可迭代中没有元素,all将返回True。但是空列表会创建一个空的set其长度将为 0。

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

如何检查列表中的所有元素是否相同? 的相关文章

随机推荐

  • Android:同时进行平移和旋转动画

    我想以编程方式同时显示两个动画 而不是在 XML 文件中 它应该旋转和平移我怎样才能做到这一点 请给我一些建议 这是妈妈的代码 gt ImageView snowImg1 ImageView findViewById R id snowim
  • 如何在 QPlainTextEdit 中为突出显示的字符串创建工具提示

    我有一个 QPlainTextEdit 并且其中突出显示了一些单词 现在我希望当我用鼠标悬停在它上面时 它会向我显示一个工具提示 其中包含有关此突出显示单词的描述或类似内容 在 QT IDE 中类似这样 但我不知道如何开始这个所以任何想法
  • 可变长度与 Malloc 数组

    根据c99标准 我们可以编写以下代码 这是完全合法的 int x scanf d x int ar x 我的问题是 如果我可以分配这样的数组 为什么我需要 malloc 再次分配可变大小的数组 另外 您能否解释一下可变长度数组分配是如何发生
  • 如何将具有历史记录的 SVN 存储库迁移到新的 Git 存储库?

    我阅读了 Git 手册 常见问题解答 Git SVN 速成课程等 它们都解释了这个那个 但你找不到像这样的简单说明 SVN 存储库位于 svn myserver path to svn repos Git 存储库位于 git myserve
  • 类定义之外不允许覆盖

    我创建了一个抽象类和一个具体子类 bca h include
  • 在 ASP.NET MVC 4 中获取复选框值

    我正在开发 ASP NET MVC 4 应用程序 这个应用程序有一个基本的形式 我的表单的模型如下所示 public class MyModel public string Name get set public bool Remember
  • 模板的编译是如何工作的?

    我正在读一本关于模板如何工作的书 但我很难理解模板的解释 It says 当编译器看到模板的定义时 它不会生成代码 仅当我们实例化模板的特定实例时 它才会生成代码 事实上 只有当我们使用模板时 而不是在定义模板时 才会生成代码 这一事实会影
  • 如何使用 ADO.NET 获取表中列的 SqlDbType?

    我试图在运行时确定 sql server 表列的 SqlDbType 是什么 是否有一个类可以在 System Data SqlClient 中执行此操作 或者我应该自己进行映射 我可以从那里得到一个字符串表示 SELECT DATA TY
  • 像 360 全景一样自动捕捉图像

    我正在开发类似于全景应用程序的应用程序 我想当设备从左向右移动时自动捕获图像 就像 360 全景应用程序一样 经过一些研究 我发现Sensor线程对此很有用 我已经看到了一些传感器的例子here但我无法理解如何使用传感器来达到我的目的 我也
  • 错误 ITMS-9000:“签名缺失或无效。

    错误 ITMS 9000 签名丢失或无效 捆绑包路径 Payload My app name app GooglePlus bundle 处的捆绑包 com google GPPSignIn3PResources 未使用 Apple 提交证
  • 将 Grails 应用程序转换为插件

    我通过 grails create app 启动了一个 grails 应用程序 为了模块化 我觉得组件最好是一个插件 我可以将此应用程序转换为 grails 插件吗 谢谢 巴布 我从未根据之前编写的应用程序创建过插件 但查看了Grails
  • 为什么浮动 div 和非浮动 div 的顺序仅在某些情况下才重要?

    我有类似的问题CSS 自动边距压低其他元素 右侧浮动侧边栏被推到主非浮动内容 div 下方 这answer建议的工作 只需颠倒标记的顺序并写出浮动 divbefore非浮动 div 例如 这个 div class container div
  • 如何向数组添加新元素?

    我有以下代码 String where where append ContactsContract Contacts HAS PHONE NUMBER 1 where append ContactsContract Contacts IN
  • 在张量流中多次运行 train op

    我有一些相当大的批量大小 我想对其采取多个梯度步骤 虽然我可以使用 python for 循环轻松完成此操作 但我想可能有一种更有效的方法 不需要在每次迭代时将数据传输到 GPU 我曾多次尝试将火车操作放入获取列表中 但我不确定它实际上是否
  • 在 Pandas 数据框中创建 value_counts 列

    我想从 Pandas 数据帧列之一创建唯一值的计数 然后将包含这些计数的新列添加到我的原始数据帧中 我尝试了几种不同的方法 我创建了一个 pandas 系列 然后使用 value counts 方法计算计数 我尝试将这些值合并回原始数据帧
  • TFS 签入包含“较大”二进制文件的变更集超时

    我正在执行从 tfs visualstudio 到本地 2012 服务器的 TFS 集成迁移 我遇到了一个特定变更集的问题 该变更集包含多个超过 1 MB 的二进制文件 其中一些文件大小为 15 16 MB 我正在使用本地 TFS 进行远程
  • AngularJS:异步初始化过滤器

    我在尝试使用异步数据初始化过滤器时遇到问题 过滤器非常简单 它需要将路径转换为名称 但要做到这一点 它需要一个对应数组 我需要从服务器获取该数组 在返回函数之前 我可以在过滤器定义中执行一些操作 但是异步方面阻止了这种情况 angular
  • 在没有 ssh 访问权限的情况下运行 Composer 和 laravel (artisan) 命令

    我想在我的基本共享主机上测试一些 Laravel 应用程序 目前 我只是上传完整的应用程序 包括供应商文件 但这需要很长时间 因为我没有ssh访问我的主机我想知道是否有一个选项可以在没有这个的情况下运行作曲家 工匠命令 我找到了这个链接 使
  • 在 L 预览中使用材质主题

    L 开发者预览版目前处于 API 级别 20 但是 显然主题需要 API 级别 21 android style Theme Material Light DarkActionBar需要 API 级别 21 这是一个错误 我做错了什么 或者
  • 如何检查列表中的所有元素是否相同?

    如果我有这个清单 mylist n n 4 3 w 我如何让它读取列表 并告诉我它们是否都相同 我知道在这个例子中很容易看出它们并不完全相同 我有更大的清单 我希望它为我阅读 我会使用以下方法来解决这个问题 min 如果是这样 我将如何输入