在 Python 中划分 2 个列表时如何处理列表推导式中除以零的异常

2024-02-01

在 Python 中划分 2 个列表时,如何处理列表推导式中除以零的异常:

从下面的例子来看:

from operator import truediv
result_list = map(truediv, [i for i in list1], [j for j in list2])

其中 list2 可以包含 0 作为值。

由于我的代码限制,我想在同一行中处理异常。请帮我。


你不能. try is a (复合)陈述 https://docs.python.org/3.5/reference/compound_stmts.html,列表理解是表达 https://docs.python.org/3.5/reference/expressions.html。在 Python 中,这些是完全不同的东西,而你cannot表达式中有一个语句。

您可以做的就是使用包装函数:

def add_handler(handler, exc, func):
    def wrapper(*args, **kwargs):

        try:
            return func(*args, **kwargs)
        except exc:
            return handler(*args, **kwargs)    # ???
    return wrapper

然后用作:

my_truediv = add_handler(print, ZeroDivisionError, truediv)

请注意,这是非常有限。您必须返回一个值并将其插入结果列表中,不能简单地“跳过它”。

你应该简单地做:

from operator import truediv
result_list = []
for i, j in zip(list1, list2):
    try:
        result_list.append(i/j)
    except ZeroDivisionError:
        pass

或者,如果您只是想跳过这些值,您可以将它们过滤掉:

map(lambda x_y: truediv(*x_y), filter(lambda x_y: x_y[1] != 0, zip(list1, list2)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中划分 2 个列表时如何处理列表推导式中除以零的异常 的相关文章

随机推荐

  • CORS 策略阻止从源“null”访问“file:///sample.txt”处的 XMLHttpRequest:仅协议方案支持 CORS [重复]

    这个问题在这里已经有答案了 我是 AJAX 新手 目前正在学习它的基础知识 在我的 html 文件中 点击提交按钮时 我只是尝试记录与 html 文件本身位于同一目录中的文本文件的文本 但我收到了一个错误 从源 null 访问 file D
  • 如何交替选择每两个元素?

    我想选择每两行并以该模式交替和重复 我如何使用 CSS 来做到这一点 例如 蓝色行 1 2 5 6 9 10 红行 3 4 7 8 ul list style type none color white li nth of type odd
  • Sybase SQL 基于具有 ID 的多个列选择不同

    我正在尝试查询 sybase 服务器以获取我们出于测试目的而保存的不同类型数据的示例 我有一张如下所示的表格 摘要 Animals table id type breed name 1 dog german shepard Bernie 2
  • 如何在 Laravel 框架中以最少的时间浪费从数据库中取出一个普通数组中的所有单词?

    我想将数据库中的所有单词放入默认数组 我的数据库里有超过 50 000 个单词 这个数字很可能达到一百万 因此 我希望这个手术不需要花费太多时间 我尝试了这样的方法 其中不将任何单词放入通常的数组中 也就是说 单词被传递到关联数组 word
  • Excel VBA - 查找带有通配符的字符串

    我试图查找包含通配符的字符串 我需要找到该字符串在特定行中出现的位置 该字符串均采用 IP W XX 的形式 其中 XX 是我用来查找值的 2 个字母 是可以是任何随机数的数字通配符 因此 这就是我的查找字符串的样子 FullLookUpS
  • SQLAlchemy - 什么是 declarative_base

    我在学习sqlalchemy 这是我的初始代码 user py from sqlalchemy import Column Integer Sequence String from sqlalchemy ext declarative im
  • 可以在 C++ 中创建单例结构吗?如何?

    当我了解更多关于编码的知识时 我喜欢进行尝试 我有一个程序 在其运行时的生命周期中只需要一个结构的单个实例 并且想知道是否可以创建一个单例结构 我在互联网上看到很多有关创建单例类的信息 但没有看到有关创建单例结构的信息 这可以做到吗 如果是
  • 如何使用C++连接mySQL数据库

    我正在尝试从我的网站连接数据库并使用 C 显示一些行 所以基本上我正在尝试创建一个应用程序 从我的站点数据库的表中执行选择查询 现在 这一定是可能的 因为我已经看到大量的应用程序这样做了 我该怎么做呢 有人可以举个例子并告诉我应该使用哪些库
  • 如何在SQL Server中显示小数点后两位数

    我有一个表 其中有一列float数据类型输入SQL Server我想归还我的float具有 2 位小数的数据类型列值 例如 如果我插入12 3 它应该返回12 30 如果我插入12 它应该返回12 00 select cast your f
  • 使用 strope js 基于 Javascript 的 XMPP 聊天客户端 - 示例和教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想制作一个简单的基于 javascript 的 XMPP 客户端 我偶然发现了 strope js
  • MYSQL - 使用联接删除查询

    我已经检查了已回答的问题 但是 解决方案对我不起作用 DELETE FROM TEST2 INNER JOIN TEST1 on TEST1 FIELD2 TEST2 FIELD2 WHERE TEST1 FIELD1 22 当我执行此查询
  • Bash 中循环遍历带有空格的目录

    在 bash 脚本中 我想迭代当前工作目录中的所有目录并对它们执行操作 它们可能包含特殊符号 尤其是空格 我怎样才能做到这一点 我有 for dir in ls l do if d dir 但这会跳过我的名称中带有空格的目录 任何帮助表示赞
  • 通过 AutoMapper 将 IList 映射到 ICollection

    public class Order public int OrderId get set public string OrderCode get set public IList
  • 选择元素上的省略号在 IE9 和 Chrome 中不起作用

    我有一个具有指定宽度的选择列表 文本溢出 省略号仅适用于 Firefox v15 它不适用于 IE7 IE9 和 Chrome IE7 IE 9 和 Chrome 是否支持文本溢出 省略号 如果是的话 我在这里缺少什么 有没有办法获得类似的
  • 当返回对象的函数在没有 return 语句的情况下结束时会发生什么

    在 C 中 当应该返回对象的函数在没有 return 语句的情况下结束时会发生什么 返回什么 e g std string func 返回什么 我们不知道 根据标准 该行为是未定义的 6 6 3 2 返回语句 stmt return htt
  • AVPlayer 在 iOS 10 上无法立即播放视频,而仅播放音频

    我正在使用 AVAssetExportSession 创建视频并在完成后播放视频 但视觉部分没有立即显示 而只有音频立即播放 视觉部分在大约 20 30 秒的延迟后出现 这是我播放视频的代码 void playUrl NSURL vUrl
  • Google应用程序引擎,静态文件的最大数量?

    我正在谷歌应用程序引擎中开发一个应用程序 它将具有用户配置文件类型的功能 我在浏览Google App的在线教程时发现静态文件 应用程序文件和静态文件 的最大数量不应超过3000 我担心当用户数量增加时用户是否能够上传他们的图像 此限制仅适
  • VBScript 将文件上传到 SharePoint DocLib

    我正在尝试自动将文件上传到 SharePoint 文档库 我已经看过无数的帖子 在这个论坛和其他论坛上 但似乎找不到有用的东西 我并不是真正的开发人员 尽管我已经完成了一些简单的 VBA 和 VB 脚本 我正在寻找的是一种自动将文件 特别是
  • JDBC 批量插入、返回 ID

    有没有办法使用 RETURNING INTO 获取受影响行的值 我必须插入相同的行 x 次并获取插入行的 id 该查询如下所示 public static final String QUERY FOR SAVE DECLARE result
  • 在 Python 中划分 2 个列表时如何处理列表推导式中除以零的异常

    在 Python 中划分 2 个列表时 如何处理列表推导式中除以零的异常 从下面的例子来看 from operator import truediv result list map truediv i for i in list1 j fo