python-分解多列表嵌套

针对多列表嵌套,如何获取所有元素?

之前使用for循环+if判断,进行分解,如下:

for first_layer in lists:
        if isinstance(first_layer,list):
            for second_layer in first_layer:

if isinstance(second_layer,list):

for third_layer in second_layer:

print third_layer

else:
            print first_layer

但是,若遇到列表有4重嵌套、5重嵌套...等等,代码显得无比复杂、臃肿。

于是想到函数复用性,如下:

#!/usr/bin/env python
#coding:utf-8
fruit=[‘a‘,‘b‘,123,[‘c‘,345,‘d‘,[‘e‘,‘f‘,90],22,‘cc‘],‘po‘,34]
def layer(lists):
    for first_layer in lists:
        if isinstance(first_layer,list):
            layer(first_layer)
        else:
            print first_layer
layer(fruit)

这样,不管多少个列表嵌套,只需传参给函数就行,可以实现逐级分解。函数还能被移植调用,可用性增强。

时间: 2024-12-18 14:47:12

python-分解多列表嵌套的相关文章

案例:python列表嵌套字典实现备忘录

1.使用字典和列表嵌套结构表示多条记录2.添加信息时,直接输入一句话,进行解析拆解,记录时间与事件3.不同信息采用不同颜色输出 #!/user/bin/env Python # _*_ coding:utf-8 _*_ # 51memo.py # author:大宝dayday见 __author__ = '大宝dayday见' desc = '51备忘录'.center(30,'-') print(desc) welcome = 'welcome' print(f'{welcome}作者:',

Python学习笔记整理(五)Python中的列表.

列表和字段,这两种类型几乎是Python所有脚本的主要工作组件.他们都可以在原处进行修改,可以按需求增加或缩短,而且包含任何种类的对象或者被嵌套. 一.列表 列表的主要属性: *任意对象的有序集合 从功能上看,列表就是收集其他对象的地方,可以把它看作组.列表所包含每一项都保持了从左到右的位置顺序(它们是序列) *通过偏移读取 和字符串一样,可以通过列表对象的偏移对其进行索引,从而读取对象的某一部分内容.可以自行分片和合并之类的任务. *可变长度,异构以及任意嵌套 列表可以实地增长或者缩短,并且可

python学习笔记—列表相关

python中的列表等同于其他编程语言中的数组 基本操作有: 1.插入,追加,修改,删除 name = ["Type99","M1A2","T-72","Leclerc"] print (name[2]) print (name[0:2]) print (name[1:-1]) print (name) name.insert(2,"Type96") #插入元素 print (name) name.appe

python数据类型:列表、元组、字典、集合

列表 一.列表基础  前言: 数组:把一堆同类型的数据挨个放在一起 列表:把一堆任意类型的数据挨个放在一起(基于变量没有类型,列表中的数据也没有类型的) 语法: list名=[value1,value2,value3,.....] 1.中括号 :2.数据间用逗号隔开; 特点:有序,数据可重复,数据类型可以不一致,可嵌套使用 示例: list=[1,'22',"龙猫",3.14]    #各种数据类型 list=[1,'22',"龙猫",3.14,[1,2,3]]  

3.python元组与列表

Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套.不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 创建元组 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可 tuple = () #空元组 tuple2 = ('a','b','c') tuple3 = ('d','e','f') 可以用dir(tuple)查看元组支持的操作: 元组操作方法及实例展示 count 1 功能:统计元组中某元素的个数 2 语法:T.count(value) -> int

DAY4 Python数据类型之列表

一.列表 列表:列表是由一系列按照特定顺序排列的元素组合.列表相当于一个容器,里面可以存储python的任意数据类型,在别的语言中又称为数组. 一.  创建数组 li = ['python',100,'java','c++'] str_list = ['c'*3] ----> ['c','c','c'] #谨记:是把字符串变成三个,而不是"ccc" str_list = [['c'] * 3] ----> [['c','c','c']] #谨记:列表*3,是把列表中的元素重

python基础之列表

Python基础之列表 一.列表的切片与增删改查 li = ['李白','韩信','兰陵王','娜可露露','赵云','露娜','王昭君'] #切片与字符串一样,索引值都是从0开始,所用得方法都一样[:][:-1][0:-1][2:4][:4][4:][1:-2:2][1:-3:-2] #列表增append(),insert li.append('关羽') #后面加入['李白', '韩信', '兰陵王', '娜可露露', '赵云', '露娜', '王昭君', '关羽'] print(li) li

python基础之列表list

list常用命令:索引/切片:list[index] list[start_index:end_index]增:list.append(obj) list.insert(index,obj) list.extend(obj)删:list.pop(index) list.pop() list.remove(obj) list.clear() del list del list[start_inde:end_index]改:list[index] = obj list[start_index:end

python 数据类型 序列——列表

python 数据类型 序列--列表 **列表** list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表是可变类型的数据. 用[]表示列表,包含了多个以逗号分割开的数字或者字符串. >>> list1 = ['1','chen','陈'] >>> list2 = [1,2,3,4] >>> list3 = ["str1","str1","22"] >>