展平浅嵌套列表的习惯用法:它是如何工作的?

2023-11-27

我在我正在开发的模块中找到了这段代码:

l = opaque_function()
thingys = [x for y in l for x in y]

我读不懂这个。通过实验,我能够确定它正在展平 2 级嵌套列表,但语法对我来说仍然不透明。它显然省略了一些可选的括号。

>>> l = [[1,2],[3,4]]
>>> [x for y in l for x in y]
[1, 2, 3, 4]

我的眼睛想将其解析为:[x for y in [l for x in y] ] or [ [x for y in l] for x in y ],但这两个都失败了,因为y没有被定义。

我应该如何阅读这篇文章?

(我怀疑当我解释这个问题时我会感到非常尴尬。)


这曾经让我很困惑。你应该像嵌套循环一样阅读它:

new_list = []
for y in l:
    for x in y:
        new_list.append(x)

becomes

for y in l for x in y [do] new_list.append(x)

becomes

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

展平浅嵌套列表的习惯用法:它是如何工作的? 的相关文章

  • 为什么Python有最大递归深度?

    Python有最大递归深度 但没有最大迭代深度 为什么递归受到限制 把递归当成迭代来对待 而不限制递归调用的次数不是更自然吗 我只想说这个问题的根源来自于尝试实现流 参见这个问题 https stackoverflow com questi
  • ipdb 和 pdb++ 之间的区别?

    Python 有一个名为 pdb 的默认调试器 但社区创建了一些替代品 其中两个是ipdb https github com gotcha ipdb and pdb https github com pdbpp pdbpp 它们似乎迎合了相
  • Celery计划任务中的打印语句不会出现在终端中

    当我跑步时celery A tasks2 celery worker B我想看到每秒打印 芹菜任务 目前没有打印任何内容 为什么这不起作用 from app import app from celery import Celery from
  • 带括号的上下文管理器

    我试图了解新的新内容带括号的上下文管理器Python 3 10 中的功能 新功能中的顶部项目here https docs python org 3 10 whatsnew 3 10 html 我的测试示例是尝试编写 with open f
  • 静态文件配置不正确

    我已经在 Heroku 上部署了简单的博客应用程序 它运行在Django 1 8 4 我在静态文件方面遇到了一些问题 当打开我的应用程序时 我看到Application Error页面 所以我尝试调试它并发现当我提交到 Heroku 时它无
  • 无法在 mysql 表中的值中使用破折号(-)[重复]

    这个问题在这里已经有答案了 我一直在尝试从 python 将数据插入 MYSQL 表 我的sql表中的字段是id token start time end time和no of trans 我想存储使用生成的令牌uuid4在令牌栏中 但由于
  • Python 小数.InvalidOperation 错误

    当我运行这样的东西时 我总是收到此错误 from decimal import getcontext prec 30 b 2 3 Decimal b Error Traceback most recent call last File Te
  • 将打开关闭的 Google Chrome 浏览器添加到 Selenium linkedin_scraper 代码中

    我正在尝试抓取一些知名人士的 LinkedIn 个人资料 该代码获取一堆 LinkedIn 个人资料 URL 然后使用Selenium and scrape linkedin收集信息并将其作为 json 文件保存到文件夹中 我遇到的问题是
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • 有条件填写 pandas 数据框

    我有一个数据框df列中包含浮点值A 我想添加另一列B这样 B 0 A 0 for i gt 0 B i if np isnan A i then A i else Step3 B i if abs B i 1 A i B i 1 lt 0
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 对图像使用 Pixellib 自定义训练时出现 input_image 元形状错误

    我正在使用 Pixellib 来训练自定义图像实例分割 我创建了一个数据集 可以在下面的链接中看到 数据集 https drive google com drive folders 1MjpDNZtzGRNxEtCDcTmrjUuB1ics
  • 使用 Python 的文本中的词频但忽略停用词

    这给了我文本中单词的频率 fullWords re findall r w allText d defaultdict int for word in fullWords d word 1 finalFreq sorted d iterit
  • Selenium:等到 WebElement 中的文本发生变化

    我在用着selenium使用Python 2 7 从网页上的搜索框检索内容 搜索框动态检索结果并在框本身中显示结果 from selenium import webdriver from selenium webdriver common
  • 提交表格并上传带有请求的文件

    我正在努力提交特定的表格蟒蛇请求 http www python requests org 我想使用它的网站上的其他表单工作正常 我可以提交登录表单等 这只是我遇到问题的文件上传 显然 提交表单效果很好 因为我从网站收到一条消息 说 请返回
  • x11 - 导入错误:没有名为“kivy.core.window.window_x11”的模块

    目前我正在尝试构建一个我通过 buildozer 用 Python 和 Kivy 编写的应用程序 无论我在做什么 我都会遇到 window x11 的问题 即使我在代码中注释掉所有与 Windows 相关的内容或执行本文中描述的所有操作 这
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • psutil:测量特定进程的CPU使用率

    我正在尝试测量进程树的 cpu 使用率 目前获取进程 没有子进程 的 cpu usage 就可以了 但我得到了奇怪的结果 import psutil p psutil Process PID p cpu percent 还给我float g
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • Mac 应用程序和 iOS 应用程序之间的蓝牙/WiFi [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何制作一个与 iOS 应用程序连接并发送消息的蓝牙 Mac 应用程序 或者通过本地 WiFi 网络与 Mac 应用程序连接的 iOS 应用程序 注意 随着 CoreBlueto
  • BULK INSERT 内部如何工作?

    有人可以解释一下 BULK INSERT 内部是如何工作的以及为什么它比正常的 INSERT 操作快得多吗 问候 希希尔 BULK INSERT 与 SQL Server 的数据库引擎一起在进程内运行 从而避免通过客户端 API 的网络层传
  • Ember.js:控制器之间的数据绑定

    我正在尝试将 ApplicationController 绑定到 IndexController 这是我的jsfiddle 总而言之 这是我在应用程序控制器中的绑定 indexIsClickedBinding App indexContro
  • 如何引用 Visual Studio 项目中用户定义段的开头?

    我正在努力转换与 gnu 工具链的 ld 链接的 C 程序 使其编译为 Visual studio 2005 项目 该程序将 data symbol 放在不同的段中并在 初始化阶段它在段之间复制数据 指向的指针 段的开始和结束在 ld 链接
  • 协议术语:消息与数据包

    在实践中 对于采用更高级别协议 例如 TCP IP 之上的协议 通过网络传输的通信最合适的术语是什么 具体来说 我指的是小的二进制数据单元 我在各种客户端 服务器库中都看到过 消息 和 数据包 但我对社区的共识感兴趣 这些绝对是消息 数据包
  • Pyinstaller 和 Pycrypto

    我们最近将 pycrypto 添加到我们一直在开发的项目中 现在我无法在使用 pyinstaller 构建该软件后运行该软件 我在 pyinstaller 中遇到了新软件包的问题 但我无法特别修复这个问题 我在尝试运行构建的软件时遇到的错误
  • 我收到错误:未定义的类“必需”。当尝试使用必需的关键字时

    我收到错误 未定义的类 必需 当尝试使用必需的关键字时 这是代码示例 class Field final int id final String name final bool userEditable final String title
  • 在清单中具有共享用户证书功能的 Windows Phone 8.1 应用程序中出现部署错误

    如果我检查 Windows Phone 8 1 应用程序清单中的 共享使用的证书 功能 我会收到以下错误 错误 DEP0001 意外错误 无法注册包 HRESULT 异常 0x80073CF6 Manifest
  • 如何使用android API从android中获取wifi网络的名称?

    我认为我应该使用 NetworkInterface getDisplayName 我有一些名称 但这个名称与我在选择要连接的网络时看到的名称不同 android net wifi WifiInfo getSSID WifiManager w
  • 为什么 Tuple 或 KeyValueItem 没有 setter?

    我需要一个包含一对值的结构 其中的值将被更改 所以我的第一个想法是使用 KeyValueItem 或 Tuple 但后来我发现它们只有一个吸气剂 我不明白为什么 在我的情况下你会用什么 我可以创建自己的类 但是还有其他方法吗 它们是不可变的
  • iOS - 将图像保存为jpg格式

    我的问题是图像保存的格式是什么 是dat还是jpg 这是我使用的代码 NSString urlImage NSString folderPath NSString imageName urlImage componentsSeparated
  • 烧瓶在容器内工作,但当我将其向前移动时却无法工作

    我正在尝试 我正在尝试使用 docker 运行一个简单的 Flask 应用程序 使用this网站作为参考 我的泊坞窗文件 FROM ubuntu latest RUN apt get update y RUN apt get install
  • 如何在 F# 中获取函数参数的名称?

    我可以编写一个返回作为参数给出的函数名称的函数吗 let funName f string returns the name of f 例如 如果我通过printfn作为 funName 的参数 它返回 printfn gt funName
  • 用于单元测试的 EmberJS 服务注入 (Ember QUnit)

    Specs 灰烬版本 1 13 8 节点 0 10 33 npm 2 13 4 I have import Alias from services alias moduleFor controller test Controller tes
  • PostgreSQL的括号规则,有总结指南吗?

    在数学和许多编程语言中 我认为标准SQL也 括号改变优先级 首先对要评估的部分进行分组 或增强可读性 对于人眼 等效示例 SELECT array 1 2 gt array 1 SELECT array 1 2 gt array 1 SEL
  • jQuery 文本到链接脚本? [复制]

    这个问题在这里已经有答案了 有谁知道有一个脚本可以选择对 URL 的所有文本引用并自动将其替换为指向这些位置的锚标记 For example http www google com would automatically turn into
  • 在 Safari iOS 13 + 上禁用双击缩放

    如何在 Safari iOS 13 移动设备上禁用 双击缩放 有时会缩放 有时则不会 我觉得它可能只适用于特定的 HTML 元素 我读到 双击缩放 应该在 iOS 13 上默认禁用 只有捏合缩放才可以工作 但事实并非如此 您可以添加以下元标
  • ReactJS onClick setState 到不同的元素

    我是新来反应的 我遇到了一个小问题 也许有人可以帮助我 所以问题是我无法使用 onCLick 函数触发我想要的元素 现在我试图删除导航 import React from react import ReactDOM from react d
  • jQuery / ajax 上传图像并保存到文件夹

    更新下面的代码 我发现一些代码能够上传图像并显示其缩略图 但是 我也想将图像保存到特定文件夹中 我可以使用什么 jQuery 代码或 ajax 代码将原始图像保存到我选择的文件夹中 这是现场演示 http jsfiddle net dn9S
  • 展平浅嵌套列表的习惯用法:它是如何工作的?

    我在我正在开发的模块中找到了这段代码 l opaque function thingys x for y in l for x in y 我读不懂这个 通过实验 我能够确定它正在展平 2 级嵌套列表 但语法对我来说仍然不透明 它显然省略了一