如何递归地将项目添加到列表中?

2024-01-19

目前,我正在解决一个问题。我得到一个列表,其元素可能包含其他列表、列表的列表或整数。例如,我可能会收到:

[[[[], 1, []], 2, [[], 3, []]], 4, [[[], 5, []], 6, [[], 7, [[], 9, []]]]]

我的目标是解析数组并附加仅整数到一个新列表。这是我到目前为止所做的:

def fun(a):
    if a == []:
        return None
    elif type(a) == int:
        print("Found a digit: ", a)
        return a
    for i in a:
        fun(i)

目前,该函数递归地遍历列表并成功找到每个整数;现在,我有一个问题追加这些整数到一个新列表,并在最后返回该列表。输出应该是这样的:

[1,2,3,4,5,6,7,9]

有什么指点吗?


将要附加的列表作为参数传递。

def fun(a, result):
    if type(a) == int:
        print("Found a digit: ", a)
        result.append(a)
    else:
        for i in a:
            fun(i, result)
old_list = [[[[], 1, []], 2, [[], 3, []]], 4, [[[], 5, []], 6, [[], 7, [[], 9, []]]]]
new_list = []
fun(old_list, new_list)
print(new_list)

如果您需要原始函数签名,可以将其拆分为两个函数。

def fun(a):
    result = []
    fun_recursive(a, result)
    return result

fun_recursive()将如上定义。

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

如何递归地将项目添加到列表中? 的相关文章

  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 3D 数组到 3D std::vector

    我在代码函数中用 3D std vector 替换了 3D 数组 它进入了无限循环 你能给我一个提示吗 我真的需要使用向量而不是数组 谢谢 我最初的代码是 arr is a 3D array of a sudoku table the 3
  • 我应该对算法使用递归还是记忆化?

    如果我可以选择使用递归或记忆来解决问题 我应该使用哪一个 换句话说 如果它们都是可行的解决方案 因为它们提供了正确的输出并且可以在我正在使用的代码中合理地表达 那么我什么时候会使用其中一个而不是另一个 它们并不相互排斥 您可以同时使用它们
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • IRichBolt 在storm-1.0.0 和 pyleus-0.3.0 上运行拓扑时出错

    我正在运行风暴拓扑 pyleus verbose local xyz topology jar using storm 1 0 0 pyleus 0 3 0 centos 6 6并得到错误 线程 main java lang NoClass
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • Fortran 子例程返回错误值

    嘿 我正在开发一个 Fortran 程序 遇到了一个奇怪的问题 当我尝试在调用特定子例程之前直接输出数组的某些值时 我得到了正确的值 然后 我尝试在启动子例程时输出同一数组的一些值 它们都是 0 我最终在子例程之后输出数组的值 并且这些值回
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像

随机推荐

  • Android SearchView onclick

    我有一个 searchView 如下所示 private void setupSearchView mSearchView SearchView getActivity findViewById R id search view neue
  • 尝试通过 Intellij IDEA 部署 tomcat 服务器并收到奇怪的丢失 server.xml 错误

    我将从收到的错误开始 然后解释到目前为止我所做的事情 Error running Guestbook Cannot load home anthony IntelliJIdea11 system tomcat Unnamed guestbo
  • 如何禁用文本区域?

    如何禁用动态添加到 HTML 的文本区域 HTML div class ss datesel inp cont div class ss datesel inp right corner div div
  • 仅从 .tex 格式的 arXiv 文章中提取正文文本

    我的数据集由 arXiv 天体物理学文章组成 tex 文件 我只需要从文章正文中提取文本 而不是从文章的任何其他部分 例如表格 图形 摘要 标题 脚注 致谢 引文等 我一直在尝试使用Python3tex2py https drive goo
  • 货币格式

    这应该是一个简单的问题 但是 我需要格式化货币以在 C 中显示 字符串 所涉及的货币有其自己的规则 例如要使用的符号以及该符号是否应该出现在值之前 例如 10 或之后 例如 10 即越南盾 但数字的格式取决于用户所在地区 而不是货币 E g
  • 使用 C# 在一行中读取两个整数

    我知道如何让控制台读取两个整数 但每个整数本身就像这样 int a int Parse Console ReadLine int b int Parse Console ReadLine 如果我输入两个数字 即 1 2 则值 1 2 无法解
  • 关于对齐存储和普通可复制/可破坏类型

    我与一个比我聪明的人进行了一次有趣的讨论 并且我仍然对对齐存储和简单可复制 可破坏类型有一个悬而未决的问题 考虑以下示例 include
  • 致命错误:内存不足,但我有足够的内存(PHP)

    由于我的问题越来越长 我决定重写整个问题 使其更好 更短 我在 8GB 内存的专用服务器上运行我的网站 我完全意识到我需要提高 php ini 设置的内存限制 我已将其从 128M 设置为 256M 然后设置为 1 但问题仍然在于坚持 致命
  • Java Pattern.matcher() 在匹配包含 \n 的行时冻结

    我遇到了一个我觉得很有趣的问题 我主要通过正则表达式对文本文件进行一些基本解析 并且在匹配此行时它总是冻结 ftrect 0 7031 57 0313 9 8561 55 5313 FREIGABE nQ09 SV01 没有抛出异常 程序只
  • mysql(几乎)完成审计

    我正在寻找一种为我的表制作简单事件日志的方法 我有几个表可以由不同的用户更改 我想跟踪 who made the change when what was before update what is the new value which
  • 将 HTTP 请求映射到 HTTP 响应

    如果我向同一服务器发出多个 HTTP Get 请求 并且每个请求都获得 HTTP 200 OK 响应 我如何使用 Wireshark 判断哪个请求映射到哪个响应 目前看起来好像发出了一个 http 请求 并且很快收到了下一个 HTTP 20
  • PDO 函数 setFetchMode

    你好 我试图用 PDO 来实现函数 但出现错误 PDO 新手 这是我的代码 function mail id mail global host dbname user pass DBH new PDO mysql host host dbn
  • 通过 Bower 安装 jQuery-Mobile

    在我的项目中 我想通过 Bower 使用 jquery mobile 在我可以使用它之前我必须运行npm install and grunt随后在bower components jquery mobile在我可以使用缩小版之前 js an
  • 解析显式数组

    我正在尝试解析来自服务器的此类响应 1 a b 2 000000 1 2 3 1 2 3 x y z 1 2 3 1 2 3 除了为这种类型的消息编写我自己的 hack ish 解析器之外 还有一种我不知道的标准方法来解释它吗 您的输入是J
  • JQuery UI,单页上多个日期选择器

    我正在为房地产创建一个 PHP 网站 我是 jQuery 和 jQuery UI 的新手 但似乎无法在其他地方找到答案 请看这个屏幕截图 全尺寸 https i stack imgur com b3yQX png 对于每个 已收到 和 到期
  • Angular UI Router:abstract:true不会显示页面

    我正在尝试使用嵌套导航来围绕 Angular UI Router 进行思考 我的应用程序有多个页面 我已经设置了 StateProvider 并且页面之间的基本路由可以正常工作 但是 我现在尝试在这些页面之一中实现选项卡式视图 我就是无法让
  • Jquery序列化和serializeArray不适用于谷歌浏览器

    我有以下 html fieldset fieldset
  • 如何在 VBA (Excel) 中获取以毫秒为单位的 DateDiff-Value?

    我需要计算两个时间戳之间的差异 以毫秒为单位 不幸的是 VBA 的 DateDiff 函数不提供这种精度 有什么解决方法吗 您可以使用描述的方法here http www tek tips com faqs cfm fid 2292如下 创
  • 如何在集群中为一个节点和所有节点运行计划方法?

    我有一个在集群中运行的 Glassfish 3 1 2 和一个 EJB 3 1 应用程序 我的应用程序中需要两种预定方 法 一种每天只运行一次 在单个节点上 以及其他在所有节点上运行的类型 每 1 2 分钟 它们不需要运行同步方式 要求只是
  • 如何递归地将项目添加到列表中?

    目前 我正在解决一个问题 我得到一个列表 其元素可能包含其他列表 列表的列表或整数 例如 我可能会收到 1 2 3 4 5 6 7 9 我的目标是解析数组并附加仅整数到一个新列表 这是我到目前为止所做的 def fun a if a ret