理解嵌套列表理解[重复]

2023-12-31

我想了解嵌套列表理解。 下面,我列出了一个列表理解表达式及其 for 循环等效项。
我想知道我的理解是否正确。

例如,

[(min([row[i] for row in rows]),max([row[i] for row in rows])) 
for i in range(len(rows[0]))]

相当于

result=[]
for i in range(len(rows[0])):
  innerResult=[]
  for row in rows:
    innerResult.append(row[i])
  innerResult2=[]
  for row in rows:
    innerResult2.append(row[i])
  tuple=(min(innerResult), max(innerResult2))
  result.append(tuple)

如果我可以概括的话,我想

[exp2([exp1 for x in xSet]) for y in ySet]

形式可以翻译为以下形式。 (我希望我在这一点上是正确的)

result=[]
for y in ySet:
  innerResult =[]
  for x in xSet:
    innerResult.append(exp1)
  exp2Result = exp2(innerResult)
  result.append(exp2Result)

对于更简单的情况,

[exp1 for x in xSet for y in ySet] 

等于

result=[] 
for x in xSet:
  for y in ySet: 
    result.append(exp1)

whereas,

[[exp1 for x in xSet] for y in ySet]

等于

result=[]
for y in ySet:
  innerResult=[]
  for x in xSet:
    innerResult.append(exp1)
  result.append(innerResult)

我问了类似的问题复杂列表理解的等效 for 循环表达式 https://stackoverflow.com/questions/8047965/equivalent-for-loop-expression-for-complex-list-comprehension
在了解其内部功能后,那里给出的答案重建了形式。
我想知道它是如何系统地工作的,以便我可以将这个概念应用到其他略有不同的示例中。


确实,你是对的。这在Python 语言参考中的表达式部分 http://docs.python.org/reference/expressions.html#list-displays.

特别注意几个嵌套的顺序fors 在单个列表理解中,总是从左到右:

>>> matrix = [[1, 2], [3, 4]]
>>> [item for item in row for row in matrix] # oops!
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    [item for item in row for row in matrix]
NameError: name 'row' is not defined
>>> [item for row in matrix for item in row] # nesting is in left-to-right order
[1, 2, 3, 4]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

理解嵌套列表理解[重复] 的相关文章

随机推荐

  • ASP.NET MVC AjaxForm 未正确更新部分视图

    我不确定我做错了什么 我以前从未遇到过这个问题 或者也许我有过 但我从未注意到 我有一个带有部分视图的页面 提交页面时 会检查模型是否有 ID 如果是 则会更新记录 如果没有 它会创建一个新的 相当标准 完成后 模型将返回到视图 我似乎遇到
  • WPF - 带按钮的列表视图

    我有一个列表视图模板 其中一列是一个按钮 当我单击此按钮时 我需要选择项目 我怎样才能做到这一点 要捕获按钮按下事件中选定的 ListView 项目 您可以利用 MVVM 模式 在 ListView 的 XAML 中 我将 ItemsSou
  • 将带有解析的推送通知发送到单个设备

    我可以在 Android 应用程序中仅向一台特定设备发送推送消息吗 可能使用设备 ID 而不是每个设备 一个简单的 是的 可以使用解析 或 不 你不能使用解析 就足够了 如果答案是肯定的那么我需要知道如何 您可以将设备 ID 保存在Pars
  • “2<&1”重定向在 Bourne shell 中起什么作用?

    2 gt 1Bourne shell 中的重定向将发送到文件描述符 2 默认情况下为标准错误 的输出发送到文件描述符 1 默认情况下为标准输出 但有什么作用2 lt 1重定向做什么 它会将 stderr 发送到 stdin 吗 我的理论是它
  • Django 中的灵活分页

    我想实现分页 以便用户可以选择每页的记录数 例如 10 25 50 等 我应该如何处理 是否有一个应用程序可以添加到我的项目中来执行此操作 Thanks Django 在核心中内置了一个 Paginator 对象 这是一个使用起来相当简单的
  • set-cookie 标头未在 Edge 中设置 cookie

    我正在本地测试一个应用程序并发出授权请求http localhost 3000 api auth 登录 http localhost 3000 api auth login 响应中将返回 set cookie 标头以及 JWT 身份验证令牌
  • 流星卡在提取中 [电子邮件受保护]

    我遇到一个问题 我在我的项目中运行meteor 并且它开始安装 电子邮件受保护 cdn cgi l email protection 一旦达到 100 就会显示 提取 电子邮件受保护 cdn cgi l email protection 但
  • ggplot2:用直线连接极坐标中的点2

    coord polar曲线 有时您可能不希望这样做 即当空间被认为是离散的而不是连续的时 iris gt gather dim val Species gt group by dim Species gt summarise val mea
  • 为什么需要为 iTerm 中的每个新 shell 获取 .zshrc 源?

    在过去的 3 年里 我每天都将 Iterm2 与 zsh 一起使用 但我有了一台新计算机 不得不重新设置它 问题是当我跑步时 zshrc它工作正常 但我必须在打开的每个新终端窗口上执行此操作 不是一个好的经历 我注意到我没有任何bashrc
  • GWT - FlowPanel 和调整大小

    我有一些Composite我的应用程序中使用的小部件FlowPanel作为他们的主要元素 我想知道的是 我是否需要为此以任何方式调整大小 FlowPanel不实施RequiresResize 所以我不能使用ResizeComposite 但
  • 如何在数据帧中引用广播变量

    我用的是spark1 6 我尝试广播 RDD 但不确定如何访问数据帧中的广播变量 我有两个数据框员工和部门 员工数据框 Emp Id Emp Name Emp Age 1 john 25 2 David 35 部门数据框 Dept Id D
  • 无法下载任何源列表 - android SDK

    我正在尝试从 Sdk Manager 下载平台工具 但当我跑步时 C android sdk cmdline tools tools bin gt sdkmanager platform tools platforms android 28
  • 如何删除两个span元素之间的多余空间?

    我想删除这两个元素之间的额外空间 我尝试过但做不到 这是边距崩溃的问题吗 如何解决这个问题 我怎样才能删除多余的空间 这是我的 HTML 和 CSS body width 250px height 100px background F2F2
  • MsDeploy 远程处理执行清单两次

    I have 为 msdeploy 创建了一个清单以 停止 卸载 复制 安装和启动 Windows 服务 从清单创建了一个包 对远程服务器上的包执行 msdeploy 问题 它执行整个清单两次 尝试过 我修改了 waitInterval 和
  • Laravel 中的分页不起作用

    当我投入我的观点时 问题 gt 链接 我没有看到分页样式 并且该页面不像我在控制器中放入的那样每页需要 6 个帖子 我的职位控制器 类 QuestionsController 扩展控制器 Display a listing of the r
  • 为 LaTeX 编写功能的起点是什么?

    我对它很陌生 但知道它无法处理我需要的特殊东西 我想开发 LaTeX 的功能 问题 有一种东西叫做 TeX 然后是乳胶 然后是 KOMA Script 那么 这三个中的哪一个实际上是驱动所有这些东西的 底层引擎 这是 TeX TeX 不仅是
  • React-Native 中 Android 和 iOS 的图像大小

    在制作iOS应用程序时 我们通常会提供 x 2x 3x图像 根据我对 Android 的了解 大约有六种不同的尺寸 我已经开始研究react native并遇到了图像问题 我的问题是 我是否需要提供所有不同尺寸的图像 即通过结合 iOS 和
  • XML 到制表符分隔文本

    需要XML XSLT专家的帮助 我有 2 个以 XML 格式从系统导出的示例记录 如下所示 我喜欢使用 XSLT 将数据转换为制表符分隔的文本 如下所示https docs google com spreadsheet ccc key 0A
  • 查询@xml变量以获取行集

    我有一个 xml 数据 如下所示 DECLARE XmlContent XML SET XmlContent
  • 理解嵌套列表理解[重复]

    这个问题在这里已经有答案了 我想了解嵌套列表理解 下面 我列出了一个列表理解表达式及其 for 循环等效项 我想知道我的理解是否正确 例如 min row i for row in rows max row i for row in row