首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在维护结构的同时重置嵌套列表

在维护结构的同时重置嵌套列表
EN

Stack Overflow用户
提问于 2014-04-02 02:15:56
回答 4查看 160关注 0票数 2

是否可以在维护“结构”的同时“清除”python中的(嵌套)列表。我的意思是如果输入是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[1,3,4,[5,2,[4,3],3],6,[7,8],9]

输出将是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[0,0,0,[0,0,[0,0],0],0,[0,0],0]

其中维护列表的实际结构,并重置值。

上下文:实际上并不存在,我只是想到了这个问题,我想知道是否可以这样做。。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-04-02 07:21:56

下面是一个使用鸭子类型原则的实现:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
In [5]: def clear(seq):
   ...:     for i, item in enumerate(seq):
   ...:         try:
   ...:             clear(item)
   ...:         except TypeError:
   ...:             try:
   ...:                 seq[i] = 0
   ...:             except IndexError, KeyError:
   ...:                 pass
   ...:             

In [6]: s = [1,3,4,[5,2,[4,3],3],6,[7,8],9]

In [9]: clear(s)

In [10]: s
Out[10]: [0, 0, 0, [0, 0, [0, 0], 0], 0, [0, 0], 0]

这样做的好处是,您不局限于intlist的结构/值,该函数将“零”出任何支持索引的可变结构。

票数 3
EN

Stack Overflow用户

发布于 2014-04-02 07:10:46

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> l = [1,3,4,[5,2,[4,3],3],6,[7,8],9]
>>> def reset(lst):
...     return [reset(e) if isinstance(e, list) else 0 for e in lst]
...
>>> l = reset(l)
>>> l
[0, 0, 0, [0, 0, [0, 0], 0], 0, [0, 0], 0]
票数 2
EN

Stack Overflow用户

发布于 2014-04-02 02:31:30

我用递归来处理这个问题,尽管它有点原始。

注意: ints和列表只能是任意的随机嵌套。为所有人工作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def set_zero(lst):
    for i,element in enumerate(lst):
        if type(element) != list: lst[i]=0
        else: set_zero(element)

>>> a = [1,3,4,[5,2,[4,3],3],6,[7,8],9]
>>> set_zero(a)
>>> print(a)
[0,0,0,[0,0,[0,0],0],0,[0,0],0]

顺便问个好问题!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22808251

复制
相关文章
Python 嵌套列表展开
问题1:对于列表形如 list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]] 转化成列表 list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 的问题。
py3study
2020/01/08
3K0
python学习(二):列表嵌套
python里的列表和数组类似但不等同于数组,列表可以存放混合类型的数据,列表里不但能保存数据还能保存列表,接下来讲一下 列表里嵌套列表。
烤粽子
2021/07/07
1.3K0
python进阶-嵌套列表展开
本文讲解的是一个Python的进阶知识点:**如何将一个嵌套的大列表展开形成一个大列表。
皮大大
2023/08/25
3610
python进阶-嵌套列表展开
Python列表推导式和嵌套的列表推导式
列表推导式提供了一个更简单的创建列表的方法。常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列。
py3study
2020/01/16
5.4K0
python_字典列表嵌套的排序问题
上一篇我们聊到python 字典和列表嵌套用法,这次我们聊聊字典和列表嵌套中的排序问题,这个在python基础中不会提到,但实际经常运用,面试中也喜欢问,我们娓娓道来。
钢铁知识库
2022/08/20
3.8K0
python-分解多列表嵌套
    for first_layer in lists:         if isinstance(first_layer,list):             for second_layer in first_layer:
py3study
2020/01/09
1.4K0
巧用for循环嵌套结构
在python中,我们学习并掌握了for循环嵌套结构,for循环嵌套结构能够帮我们解决身边的一些数学问题
算法与编程之美
2022/04/08
6660
【Python】列表嵌套介绍与代码体验
如,这是一个大列表里面包含三个小列表,每个小列表就是一个班级,按照列表的基础语法每个数据都用一个逗号隔开就可以了:
python自学网
2022/04/05
8850
【Python】列表嵌套介绍与代码体验
python 字典和列表嵌套用法
python中字典和列表的使用,在数据处理中应该是最常用的,这两个熟练后基本可以应付大部分场景了。不过网上的基础教程只告诉你列表、字典是什么,如何使用,很少做组合说明。
钢铁知识库
2022/08/20
5.8K0
简化 kramdown 列表嵌套内容缩进的 Vim 插件
kramdown 的列表嵌套内容的缩进规则很「奇葩」,不是使用自然的 Tab 缩进。
mzlogin
2020/04/16
1.4K0
简化 kramdown 列表嵌套内容缩进的 Vim 插件
Java 、Kotlin、JavaScript 把全路径列表转换成树状层级嵌套结构
问题描述 source: /a/b/c/d/e /a/b/e/f/g /a/b/h /a/i/j /a/i/k what I need: e g 程序源代码 JavaScript let treeDTO = []; let array = [ 'a/b/c/d/e', 'a/b/e/f/g', 'a/b/h', 'a/i/j', 'a/i/k' ]; array.map((item) => { let key = item;
一个会写诗的程序员
2020/02/13
1.1K0
简化 kramdown 列表嵌套内容缩进的 Vim 插件
kramdown 的列表嵌套内容的缩进规则很「奇葩」,不是使用自然的 Tab 缩进。
零式的天空
2022/03/28
1.2K0
简化 kramdown 列表嵌套内容缩进的 Vim 插件
Solidity 优化 - 如何维护排序列表
本文我们探索和讨论在以太坊独特的 EVM 成本模型下编写高效的 Solidity 代码的数据结构和实现技术。读者应该已经对 Solidity 中的编码以及 EVM 的总体工作方式所有了解。
Tiny熊
2020/11/03
1.4K0
Solidity 优化 - 如何维护排序列表
Excel实战技巧108:动态重置关联的下拉列表
在相互关联的数据验证(即“数据有效性”)列表中常见的问题是:当更改第一个数据验证的值时,与其相关联的数据验证的值会一直保留,直到你激活其下拉列表。这可能会产生误导。
fanjy
2021/08/31
4.6K0
Excel实战技巧108:动态重置关联的下拉列表
LeetCode 339. 嵌套列表权重和(DFS)
每个元素要么是整数,要么是列表。同时,列表中元素同样也可以是整数或者是另一个列表。
Michael阿明
2020/07/13
9450
Python必知坑点(2):嵌套列表的坑
Python中有一种内置的数据类型叫列表(list),它是一种容器,可以用来承载其他的对象(准确的说是其他对象的引用),列表中的对象可以称为列表的元素,很明显我们可以把列表作为列表中的元素,这就是所谓的嵌套列表。
double
2019/07/30
5.8K1
Python中字典和列表的相互嵌套问题
在学习过程中遇到了很多小麻烦,所以将字典列表的循环嵌套问题,进行了个浅浅的总结分类。
润森
2022/08/18
6K0
嵌套是什么意思_循环结构能不能嵌套
就下面的代码示例来说,外部的repeater控件是 rptTr ,内部的repeater控件是 rptTd 。需要在 rptTr 的 onitemdatabound 的处理函数中动态绑定数据源。
全栈程序员站长
2022/11/08
4410
点击加载更多

相似问题

在减少嵌套字典的同时维护字典结构

13

对嵌套列表的内部列表元素运行函数,并在维护嵌套列表结构的同时追加输出。

12

合并嵌套列表同时维护子列表名称

12

如何在维护列表层次结构的同时连接嵌套列表中的字符串?

40

遍历列表,维护列表结构

310
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文