检查列表列表中是否存在某个项目的最佳方法? [复制]

2023-12-01

我有这样的示例列表:

example_list = [['aaa'], ['fff', 'gg'], ['ff'], ['', 'gg']]

现在,我检查它是否有空字符串,如下所示:

has_empty = False;
for list1 in example_list:
    for val1 in list1:
        if val1 == '':
            has_empty = True

print(has_empty)

这工作正常,因为它打印 True,但是正在寻找更多 pythonik 方法吗?


您可以使用itertools.chain.from_iterable:

>>> from itertools import chain
>>> example_list = [['aaa'], ['fff', 'gg'], ['ff'], ['', 'gg']]
>>> '' in chain.from_iterable(example_list)
True

以防万一如果内部列表更大(超过 100 个项目),则使用any使用生成器将比上面的示例更快,因为使用 Python for 循环的速度损失可以通过快速的补偿来补偿in-手术:

>>> any('' in x for x in example_list)
True

时序比较:

>>> example_list = [['aaa']*1000, ['fff', 'gg']*1000, ['gg']*1000]*10000 + [['']*1000]
>>> %timeit '' in chain.from_iterable(example_list)
1 loops, best of 3: 706 ms per loop
>>> %timeit any('' in x for x in example_list)
1 loops, best of 3: 417 ms per loop

# With smaller inner lists for-loop makes `any()` version little slow

>>> example_list = [['aaa'], ['fff', 'gg'], ['gg', 'kk']]*10000 + [['']]
>>> %timeit '' in chain.from_iterable(example_list)
100 loops, best of 3: 2 ms per loop
>>> %timeit any('' in x for x in example_list)
100 loops, best of 3: 2.65 ms per loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查列表列表中是否存在某个项目的最佳方法? [复制] 的相关文章

  • Pandas:GroupBy 到 DataFrame

    参考这个关于 groupby 到 dataframe 的非常流行的问题 https stackoverflow com questions 10373660 converting a pandas groupby object to dat
  • Kivy - 有所有颜色名称的列表吗?

    在 Kivy 中 小部件 color属性允许输入其值作为字符串颜色名称 也 例如在 kv file Label color red 是否有所有可能的颜色名称的列表 就在这里 来自Kivy 的文档 https kivy org doc sta
  • pyspark 数据框中的自定义排序

    是否有推荐的方法在 pyspark 中实现分类数据的自定义排序 我理想地寻找 pandas 分类数据类型提供的功能 因此 给定一个数据集Speed列 可能的选项是 Super Fast Fast Medium Slow 我想实现适合上下文的
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 如何在 Python 中加密并在 Java 中解密?

    我正在尝试在 Python 程序中加密一些数据并将其保存 然后在 Java 程序中解密该数据 在Python中 我像这样加密它 from Crypto Cipher import AES KEY 1234567890123456789012
  • 在 Django OAuth Toolkit 中安全创建新应用程序

    如何将 IsAdminUser 权限添加到 Django OAuth Toolkit 中的 o applications 视图 REST FRAMEWORK DEFAULT PERMISSION CLASSES rest framework
  • 如何使用文本相似性删除 pandas 数据框中相似(不重复)的行?

    我有数千个数据 这些数据可能相似也可能不相似 使用 python 的默认函数 drop duplicates 并没有真正的帮助 因为它们只检测相似的数据 例如 如果我的数据包含类似以下内容怎么办 嗨 早上好 嗨 早上好 Python 不会将
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • 从扫描文档中提取行表 opencv python

    我想从扫描的表中提取信息并将其存储为 csv 现在我的表提取算法执行以下步骤 应用倾斜校正 应用高斯滤波器进行去噪 使用 Otsu 阈值进行二值化 进行形态学开局 Canny 边缘检测 进行霍夫变换以获得表格行 去除重复行 10像素范围内相
  • 在 Windows 上使用 apache mod_wsgi 运行 Flask 应用程序时导入冲突

    我允许您询问我在 Windows 上使用您的 mod wsgi portage 托管 Flask 应用程序时遇到的问题 我有两个烧瓶应用程序 由于导入冲突 只有一个可以同时存在 IE 如果请求申请 1 我有回复 然后 如果我请求应用程序 2
  • Tensorflow 与 Keras 的兼容性

    我正在使用 Python 3 6 和 Tensorflow 2 0 并且有一些 Keras 代码 import keras from keras models import Sequential from keras layers impo
  • 使用Python计算目录的大小?

    在我重新发明这个特殊的轮子之前 有没有人有一个很好的例程来使用 Python 计算目录的大小 如果例程能够很好地以 Mb Gb 等格式格式化大小 那就太好了 这会遍历所有子目录 总结文件大小 import os def get size s
  • SMTP_SSL SSLError: [SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:590)

    此问题与 smtplib 的 SMTP SSL 连接有关 当与 SMTP 无 ssl 连接时 它正在工作 在 SMTP SSL 中尝试相同的主机和端口时 出现错误 该错误仅基于主机 gmail 设置也工作正常 请检查下面的示例 如果 Out
  • Matplotlib 中 x 轴标签的频率和旋转

    我在下面编写了一个简单的脚本来使用 matplotlib 生成图形 我想将 x tick 频率从每月增加到每周并轮换标签 我不知道从哪里开始 x 轴频率 我的旋转线产生错误 TypeError set xticks got an unexp
  • Python pip install pyarrow错误,无法执行'cmake'

    我尝试在 EMR 集群的主实例上安装 pyarrow 但总是收到此错误 hadoop ip XXX XXX XXX XXX sudo usr bin pip 3 4 install pyarrow Collecting pyarrow Do
  • ANTLR 获取并拆分词法分析器内容

    首先 对我的英语感到抱歉 我还在学习 我为我的框架编写 Python 模块 用于解析 CSS 文件 我尝试了 regex ply python 词法分析器和解析器 但我发现自己在 ANTLR 中 第一次尝试 我需要解析 CSS 文件中的注释
  • 将seaborn.palplot轴添加到现有图形中以可视化不同调色板

    将seaborn人物添加到子图中是usually https seaborn pydata org examples cubehelix palette html创建图形时通过传递 ax 来完成 例如 sns kdeplot x y cma
  • SocketIO + Flask 检测断开连接

    我在这里有一个不同的问题 但意识到它可以简化为 如何检测客户端何时从页面断开连接 关闭其页面或单击链接 换句话说 套接字连接关闭 我想制作一个带有更新用户列表的聊天应用程序 并且我在 Python 上使用 Flask 当用户连接时 浏览器发
  • 混淆矩阵不支持多标签指示符

    multilabel indicator is not supported是我在尝试运行时收到的错误消息 confusion matrix y test predictions y test is a DataFrame其形状为 Horse
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s

随机推荐

  • ROR 中 3 路 habtm 的自定义数据库条目

    我正在将现有的 perl gtk 应用程序转换为 ROR 应用程序 我有一个三向 Habtm 关联模型 class CustomerMaster lt ActiveRecord Base has and belongs to many ad
  • 根据另一个数据框中的列删除行[重复]

    这个问题在这里已经有答案了 有没有办法根据另一个数据帧的列从数据帧中删除行 例如 数据框 1 Gene CHROM POS REF ALT N INFORMATIVE Test Beta SE AAA 1 15211 T G 1481 1
  • 需要帮助尝试解析文件并在 scala 中创建地图

    我很难理解如何解析 csv 文件并使用 scala 将其发布到 Web 服务 基本想法是我需要从 csv 文件创建帖子参数 标题是参数 后面的行是值 即 示例 csv firstname lastname age weight height
  • Base64 编码字节数组的有效方法?

    我有一个byte 我正在寻找对其进行 Base64 编码的最有效方法 问题是内置的 Net 方法Convert FromBase64CharArray需要一个char 作为输入 并转换我的byte to a char 只是将其再次转换为 B
  • 什么时候适合在 Android 中使用 Enum?

    我看到了视频 https www youtube com watch v Hzs6OBcvNQE 从谷歌发布了关于枚举价格的信息 我确信枚举成本更高并且存在性能问题 但是 当我需要在枚举中包含多个信息时该怎么办 我是否必须创建 intdef
  • 有没有办法使用 php 解压缩 .Z 文件?

    有没有办法使用 php 解压缩 Z 文件 如今uncompress只不过是一句台词而已gzip有适当的选择 使用gzip 你没有执行 shell 您可以使用Zlib 扩展反而 我会尝试这样的事情
  • c# Visual Studio Project Installer 将文本框中的数据保存到文本文件中

    经过大量研究后 我必须询问你们才能让我的项目最终运行 我想将用户放入 Visual Studio 项目安装程序的文本框中的数据保存到文本文件中 我读过不同的文章 还有这篇文章 C Visual Studio 项目安装程序从文本框检索数据 但
  • Android Studio 与 opencv for android ndk,未找到 opencv 头文件

    我正在使用 Android Studio 进行 Android OpenCV 开发 但是当我编译在 eclipse 中正常的项目时 出现以下错误 D software AndroidStudioProjects CameraMe openC
  • WordPress 上的评论作者链接

    在 WordPress 表单中 当您以访客身份留下评论时 会出现一个网站字段来填写您的网址 如果我们填写该框 我们可以通过调用此函数来获取链接 但是 如果您已登录并且未在您的个人资料中添加该网站 那么当您发表评论时 您的用户名上没有链接 我
  • npm 错误:无法建立隧道套接字,原因=connect ETIMEDOUT

    我有一个使用 Rails 框架并实现 AngularJs 作为前端一部分的应用程序 我已将所有内容推送到 Heroku 并安装了 Heroku Toolbelt 但是当我尝试使用 heroku run rake db migrate 迁移数
  • ASP.NET MVC 和 Ajax,并发请求?

    AJAX 新手来了 目前 在我的 ASP NET MVC Web 应用程序中 我的 AJAX 请求似乎正在批量或排队 我不确定 在前一个请求完成之前 似乎没有任何请求完成 我该如何获得独立返回的请求 我不一定希望有人给我答案 但也许一些可以
  • 任务“:app:checkDebugAarMetadata”执行失败

    我在运行我的应用程序时收到此错误 Execution failed for task app checkDebugAarMetadata gt Could not resolve all files for configuration ap
  • 增量定义?

    无论如何 每次使用它时都有一个定义的增量吗 例如 int a ADEFINE int b ADEFINE a 为 1 b 为 2 您可以使用 COUNTER 尽管这不是标准的 MSVC 和 GCC 都支持它 如果你可以使用boost 预处理
  • p:fileUpload 在哪里保存我的文件?

    我的页面上有一个 p fileUpload 函数 每次上传文件时 我似乎都无法在 web xml 文件中指定的文件夹中找到它 我已将以下 jar 添加到我的库中 primefaces 3 2 jar commons io 2 3 jar c
  • SVG tspan 未与 text-anchor="end" 对齐的问题

    我有一些这样的代码 svg font family Verdana sans serif color 000 key font size 75 overflow visible caphgh font weight bold keynor
  • 这段代码的作用是什么?

    我不太确定这意味着什么或它在做什么 有人可以详细说明吗 Player player Player sender 它获取发送者引用的对象 并尝试将其转换为 Player 类型 Java 对象是强类型的 这意味着您必须声明对象的类型 如果发送者
  • 如何在 TFS 中反序列化和序列化构建过程参数

    我正在尝试使用 TFS 2013 API 创建新的构建定义 我必须引用的流程模板包含几个自定义活动和参数 创建构建定义时 一些属性值需要动态更新 所以我尝试使用以下代码反序列化过程参数 IDictionary
  • 多个自定义滚动条

    我想知道的是是否可以在同一页面上有多个定制的 webkit scrollbars 我制作了一些特定的 div 颜色 例如一个 div 有绿色文本和图像 另一个有蓝色等 所以我想为每个 div 制作一个自定义滚动条 使其与颜色匹配 Q1 可以
  • 如何使用 Google 脚本将日历事件复制(复制)到另一个日历中?

    我在 Google 日历中有几个日历 我正在学习 Google 脚本 并希望创建一个脚本 将事件从我的一个日历复制到另一个日历 并有机会修改参数 例如重复发生 一些代码开始 function myFunction var calendarS
  • 检查列表列表中是否存在某个项目的最佳方法? [复制]

    这个问题在这里已经有答案了 我有这样的示例列表 example list aaa fff gg ff gg 现在 我检查它是否有空字符串 如下所示 has empty False for list1 in example list for