将 if 条件放在列表理解中的哪里?

2024-01-06

我被赋予了这个功能:

x**2 - 4*x + 6

任务是找到 0 到 10 之间的最小整数值 x。 我不得不使用for loop:

for i in range(11):
    if 2*i-4==0:
        print("Minimum of the given function is:", i)

这给了我正确的答案2.

现在我应该将其翻译为列表理解,但我不知道将if陈述:

mylist = [2*i-4==0 for i in range(11)]
print(mylist)

当然,作为输出我得到true/false列表,索引 2 是正确的true。但是如何将 if 包含在我的列表理解中呢?


您正在寻找一个单值,不是值列表。列表理解在这里没有什么意义。

你的错误在于将你的测试放在价值表达列表理解的部分。这不是过滤器,而是您从循环中的(过滤后的)元素构建新列表值的部分。

Put an if after the for循环部分:

[i for i in range(11) if 2 * i - 4 == 0]

这将构建一个仅包含一个元素的列表,即i值为 true 的值:

>>> [i for i in range(11) if 2 * i - 4 == 0]
[2]

如果您必须在一行中执行此操作,请使用生成器表达式 https://docs.python.org/3/tutorial/classes.html#generator-expressions,然后使用next()功能 https://docs.python.org/3/library/functions.html#next从中得到第一个结果:

gen = (i for i in range(11) if 2 * i - 4 == 0)
result = next(gen)

这将为您带来最低价值i即使有多个可能的值i哪里的if测试是真的。

生成器是惰性求值的;循环停止的那一刻i达到一个值,其中if测试为真,并且产生一个值。next()仅返回第一个值,因此不再进行迭代。就好像你用过break in a for循环(除非您可以稍后继续循环)。

请注意,这可能会引发StopIteration如果生成器不产生异常any价值观。你可以告诉next()在这种情况下返回默认值;第二个参数next()如果返回StopIteration否则会被提出:

result = next(gen, None)

您可以将生成器表达式组合在next()称呼;如果生成器表达式是唯一的参数,您可以省略(...)生成器表达式的括号,否则包含它们,以便可以将其与其他参数区分开来:

result = next((i for i in range(11) if 2 * i - 4 == 0), None)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 if 条件放在列表理解中的哪里? 的相关文章

  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • Django 多对多关系(类别)

    我的目标是向我的 Post 模型添加类别 我希望以后能够按不同类别 有时是多个类别 查询所有帖子 模型 py class Category models Model categories 1 red 2 blue 3 black title
  • Python - Unicode 到 ASCII 的转换

    我无法在不丢失数据的情况下将以下 Unicode 转换为 ASCII u ABRA xc3O JOS xc9 I tried encode and decode他们不会这么做 有人有建议吗 Unicode 字符u xce0 and u xc
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • Py2exe - Pmw WindowsError:[错误 3]

    我正在尝试使用 Py2exe 构建独立的可执行文件 我已经导入了 Pmw 类 当我运行独立可执行文件时 出现以下错误 Traceback most recent call last File py line 9 in
  • 在请求中设置端口

    我正在尝试利用cgminer使用 Python 的 API 我对利用requests图书馆 我了解如何做基本的事情requests but cgminer想要更具体一点 我想缩小 import socket import json sock
  • 通过 Python 循环浏览网络上的目录并显示其内容(文件和其他目录)

    同样的道理在Python中处理从源目录到目标目录的一组文件 https stackoverflow com questions 2593399 process a set of files from a source directory t
  • 类型错误:此 COM 对象无法自动执行 makepy 过程 - 请为此对象手动运行 makepy

    这是什么错误 回溯错误 C Users DELL PycharmProjects MyNew venv Scripts python exe C Users DELL PycharmProjects MyNew agaaaaain py T
  • Python-验证我的文档 xls 中是否存在工作表

    我正在尝试在空闲时间设计一个小程序 加载 xls 文件 然后在要扫描的文档中选择一张纸 步骤1 用户导入 xls文件 导入程序后检查文件是否存在 我能做到的 第 2 步 我要求用户提供要分析的文档表 xls 的名称 这就是它停止的地方 该程
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • Python:在字典中查找具有唯一值的键?

    我收到一个字典作为输入 并且想要返回一个键列表 其中字典值在该字典的范围内是唯一的 我将用一个例子来澄清 假设我的输入是字典 a 构造如下 a dict a cat 1 a fish 1 a dog 2 lt unique a bat 3
  • 如何获取分类数据的分组条形图

    I have a big dataset with information about students And I have to build a graph of dependencies between different value
  • 如何按 pandas 中的值对系列进行分组?

    我现在有一只熊猫Series与数据类型Timestamp 我想按日期对其进行分组 并且每组中有许多行具有不同的时间 看似显而易见的方法类似于 grouped s groupby lambda x x date 然而 熊猫的groupby按索
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • 如何展平解析树并存储在字符串中以进行进一步的字符串操作 python nltk

    我正在尝试从树结构中获取扁平树 如下所示 我想将整个树放在一个字符串中 就像没有检测到坏树错误一样 S NP SBJ NP DT The JJ high JJ seven day PP IN of NP DT the CD 400 NNS
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 无法让gunicorn使用Python 3

    我有 Ubuntu NGINX Gunicorn 以及可与 Python 3 设置配合使用的虚拟环境 但我的 Flask 应用程序仍然以 2 7 6 运行 我已系统地按照说明进行操作 但找不到解决方案 Gunicorn 配置文件 progr
  • 没有名为“turtle”的模块

    我正在学习并尝试用Python3制作贪吃蛇游戏 我正在进口海龟 我正在使用 Linux mint 19 PyCharm python37 python3 tk Traceback most recent call last File hom
  • 使用 pandas 单元格中列表的长度选择行[重复]

    这个问题在这里已经有答案了 我有一张表 df a b c 1 x y x 2 x z c d 3 x t e f g 只是想知道如何使用 c 列的长度选择行 such as df loc len df c gt 1 我知道这是不对的 正确的

随机推荐

  • 不一致 <@!user id> 和 <@userid>

    所以我正在使用 Node JS Discord JS 创建一个机器人 我有一个问题 在某些服务器上 当您提及用户时 它会在控制台中返回为 lt userid gt 在其他方面它返回为 lt userid gt 我的机器人有一个简单的点 级别
  • awk:查询两个文件

    我有两个文件 file1 gt string1
  • 使用枚举类保留枚举到对象的映射?

    我经常需要枚举和另一个对象 本例中为字符串 之间的全局硬编码映射 我想将枚举和映射定义放在一起以澄清维护 正如您所看到的 在此示例中 创建了一个具有一个静态字段的烦人的类 public enum EmailTemplates Remembe
  • 使用安全框架在 Objective-C 中以编程方式创建 x509 证书

    我正在努力寻找一种使用安全框架在 Objective C 中以编程方式 自签名 创建 x509 证书的方法 我的项目没有使用 OpenSSL 所以我不能考虑使用OpenSSL 以下是我已经创建的一些内容 创建 RSA 密钥对 用过的 voi
  • 将按钮添加到 PreferenceFragment

    我想在首选项屏幕底部添加几个按钮 用于设置默认值和恢复默认值 This https stackoverflow com questions 2697233 how to add a button to preferencescreen答案不
  • 消除 TSpeedButton 的闪烁

    重现步骤 Add TPanel到一个新的VCL表单并设置Align alClient Add TSpeedButton到面板并分配一些bmp图像到Glyph财产 可选 但更清楚 Flat True 运行应用程序 抓住表单的右下角并将其移动
  • 具有任意初始状态的 Steinhaus–Johnson–Trotter 算法

    如果初始数组中的值未排序 则标准 Steinhaus Johnson Trotter 中必须更改哪些内容 例如 我的初始数组是 312 我想生成以下结果 312 321 231 213 123 132 我可以引入一个额外的数组来定义每个数字
  • R - 计算两个椭圆之间的重叠

    首先 是的 之前也有人问过类似的问题 然而 它们都源于PCA或一些专门的包 从这些人在问题中提供的数据中可以看出 这些数据与我拥有的情况不符 我无法使用它 我有一个数据集 其中包含质心 长轴和短轴以及椭圆的角度 这是一个非常小的例子 dat
  • 在 PHP 中将 PDF 转换为 HTML?

    我希望能够通过 PHP 将 PDF 文件转换为 HTML 文件 但遇到了一些麻烦 我找到了一种基本方法来做到这一点Saaspose http web archive org web 20130302034024 http saaspose
  • Python argparse“无法识别的参数”错误

    我正在尝试使用 argparse 为我正在编写的程序设置一些简单的命令行选项 我不明白为什么我收到 u 错误 我正在使用Python 2 7 有谁知道我做错了什么 代码 main py s 172 17 0 3 p 8591 u 用户 c
  • Django 休息框架。将 json 字段反序列化为模型上的不同字段

    我有一个来自 Web 请求的 json 响应 它几乎映射到我的 django 模型 如何序列化此 json 最好使用模型序列化程序 但覆盖一个字段 以便我可以将其映射到 Django 模型上不同名称的字段 我在 json 对象中有一个字段
  • pylint:使用可能未定义的循环变量“n”

    皮林特 说 W 6 Using possibly undefined loop variable n 用这个代码 iterator i i for i in range 100 if i 3 0 for n i in enumerate i
  • 在 R 中的某些观察之前选择组

    Say data structure list x1 c 88L 88L 94L 82L 68L 72L 43L 84L 65L 91L 65L 80L 82L 63L 67L 58L 100L 32L 75L 66L 30L 12L 97
  • 为什么 javascript ES6 Promise 在解析后继续执行?

    据我了解 promise 是可以解析 或拒绝 的东西 但我惊讶地发现promise 中的代码在调用resolve 或reject 后继续执行 我认为resolve或reject是exit或return的异步友好版本 它将停止所有立即函数的执
  • 为什么我的每个 Opteron 核心仅以 75% 的容量运行? (25% CPU 空闲)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们刚刚收到了功能强大的 32 核 AMD Opteron 服务器 128Gb 我们有 2 个 6272 CPU 每个 CPU 16 个核心 我们正在
  • 性能:从 HashMap.values() 创建 ArrayList

    问题是从 HashMap values 集合创建 ArrayList 需要多少钱 还是单独创造价值集合 假设 Map size gt 100k 对象也可以一直保存在 ArrayList 而不是 HashMap 中 这对其他部分有影响 元素的
  • 快速中间件访问 req.params

    我想隔离一段代码来检查req params or req body每个请求都需要一个值 我发现如果我尝试之前访问这些值app use app router 那么请求尚未被解析以包含这些对象 如果我尝试插入中间件after app use a
  • 如何从跨平台PCL使用iOS AppTrackingTransparency.ATTrackingManager?

    所以昨天这一行 ATTrackingManager RequestTrackingAuthorization status gt if status ATTrackingManagerAuthorizationStatus Authoriz
  • ' aria-label='圆角 '> 圆角

    colour change function event console log this val input type color width 100px height 100px border radius 50 overflow hi
  • 将 if 条件放在列表理解中的哪里?

    我被赋予了这个功能 x 2 4 x 6 任务是找到 0 到 10 之间的最小整数值 x 我不得不使用for loop for i in range 11 if 2 i 4 0 print Minimum of the given funct