Python-嵌套列表list的全面解析
一个3层嵌套列表m
m=["a",["b","c",["inner"]]]
需要解析为基本的数据项a,b,c,inner
基本的取数据项方法:
for i in m:
print i这个只能取出第一层的a,和一个2层的嵌套列表["b","c",["inner"]]
结合内置函数和判断可以继续解析这个2层列表
for i in m: if isinstance(i,list): for j in i: print j else: print i结果 a b c ['inner']
这个2层嵌套也分开了了,但里面的列表没有分拆,虽然可以继续拆解得到结果,但非最佳选择
构造函数,迭代解析这个多层嵌套列表
def printm(listin): for i in listin: if isinstance(i,list): printm(i) else: print i使用该函数直接解析嵌套列表,一次拆完 printm(m)
结果如下:
a b c inner
以上这篇Python-嵌套列表list的全面解析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解Python list 与 NumPy.ndarry 切片之间的对比
详解Python list 与 NumPy.ndarry 切片之间的区别 实例代码: # list 切片返回的是不原数据,对新数据的修改不会影响原数据 In [45]: list1 = [1, 2, 3, 4, 5] In [46]: list2 = list1[:3] In [47]: list2 Out[47]: [1, 2, 3] In [49]: list2[1] = 1999 # 原数据没变 In [50]: list1 Out[50]: [1, 2, 3, 4, 5] In [51]
-
Python 列表(List) 的三种遍历方法实例 详解
Python 遍历 最近学习python这门语言,感觉到其对自己的工作效率有很大的提升,下面废话不多说,直接贴代码 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__main__': list = ['html', 'js', 'css', 'python'] # 方法1 print '遍历列表方法1:' for i in list: print ("序号:%s 值:%s" % (list.index(i)
-
python获取list下标及其值的简单方法
当在python中遍历一个序列时,我们通常采用如下的方法: for item in sequence: process(item) 如果要取到某个item的位置,可以这样写: for index in range(len(sequence)): process(sequence[index]) 另一个比较好的方式是使用python内建的enumerate函数: enumerate(sequence,start=0) 上述函数中,sequence是一个可迭代的对象,可以是列表,字典,文件对象等等.
-
Python实现两个list对应元素相减操作示例
本文实例讲述了Python实现两个list对应元素相减操作.分享给大家供大家参考,具体如下: 两个list的对应元素操作,这里以相减为例: # coding=gbk v1 = [21, 34, 45] v2 = [55, 25, 77] #v = v2 - v1 # Error: TypeError: unsupported operand type(s) for -: 'list' and 'list' v = list(map(lambda x: x[0]-x[1], zip(v2, v1)
-
如何将python中的List转化成dictionary
问题1:如何将一个list转化成一个dictionary? 问题描述:比如在python中我有一个如下的list,其中奇数位置对应字典的key,偶数位置为相应的value 解决方案: 1.利用zip函数实现 2.利用循环来实现 3.利用 enumerate 函数生成index来实现 问题2 我们如何将两个list 转化成一个dictionary? 问题描述:假设你有两个list 解决方案:还是常见的zip函数 这里我们看到了zip函数确实在配对上面起到了很不错的效果,如果两个list都很大,你需
-
python实现list元素按关键字相加减的方法示例
本文实例讲述了python实现list元素按关键字相加减的方法.分享给大家供大家参考,具体如下: Python list中的元素按关键字相加或相减: # coding=utf-8 # 两个list按关键字相加或相减 def ListAdd(list1, list2, bAdd = True): if bAdd == False: list2 = [(k, -v) for (k, v) in list2] d = {} list0 = list1 + list2 for (k, v) in lis
-
Python 中 list 的各项操作技巧
最近在学习 python 语言.大致学习了 python 的基础语法.觉得 python 在数据处理中的地位和它的 list 操作密不可分. 特学习了相关的基础操作并在这里做下笔记. ''' Python --version Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#more-on-lists Add by camel97 2017-04 ''' list.append(x) #在列表
-
python list排序的两种方法及实例讲解
对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Python实例: >>> list = [2,5,8,9,3] >>> list [2,5,8,9,3] >>> list.sort() >>> list [2, 3, 5, 8, 9] 方法2.用序列类型函数sorted(list)进行排
-
Python嵌套列表转一维的方法(压平嵌套列表)
前一段去云英面试,技术官很"不厚道"了问了一个非常简单的问题:如何将多维列表转化了一维的?当时虽然想到了使用迭代或者列表生成式可以做到,但是可以没能可行的代码,回来后一顿后悔. 对于规范的且嵌套维度较低的多维列表,python中有很多方法可以实现: a=[[1,2],[3,4],[5,6]] print [j for i in li for j in i] #or from itertools import chain print list(chain(*a)) #or import
-
Python实现嵌套列表去重方法示例
发现问题 python嵌套列表大家应该都不陌生,但最近遇到了一个问题,这是工作中遇到的一个坑,首先看一下问题 raw_list = [["百度", "CPY"], ["京东", "CPY"], ["黄轩", "PN"], ["百度", "CPY"]] 列表嵌套了列表,并且有一个重复列表["百度", "CPY"
-
python如何把嵌套列表转变成普通列表
如何把[1, 5, 6, [2, 7, [3, [4, 5, 6]]]]变成[1, 5, 6, 2, 7, 3, 4, 5, 6]? 思考: -- for循环每次都遍历列表一层 -- 把取出的单个值加入到新的列表中 -- 把取出来的嵌套列表变成新的遍历列表,就需要在for循环外嵌套一个while循环 -- 当取到最里面的列表嵌套时候,对最后一个值进行处理 #!/usr/bin/python3 __author__ = 'beimenchuixue' __blog__ = 'http://www.
-
PYTHON压平嵌套列表的简单实现
list 是 Python 中使用最频繁的数据类型, 标准库里面有丰富的函数可以使用. 不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数, 要知道Ruby.Mathematica.Groovy中可是有flatten的啊. 如果列表是维度少的.规则的,还算好办 例如: li=[[1,2],[3,4],[5,6]] print [j for i in li for j in i] #or from itertools import chain print list
-
Python实现嵌套列表及字典并按某一元素去重复功能示例
本文实例讲述了Python实现嵌套列表及字典并按某一元素去重复功能.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 class HostScheduler(object): def __init__(self, resource_list): self.resource_list = resource_list def MergeHost(self): allResource=[] allResource.append(self.res
-
python 中字典嵌套列表的方法
如下所示: >>> dict={} >>> dict['list']=[] >>> dict['list'].append([1,2,3,4]) >>> dict['list'].append([5,6,7]) >>> dict['list'].append([7,8,9,0,10]) 输出字典: >>> dict {'list': [[1, 2, 3, 4], [5, 6, 7], [7, 8,
-
python中多层嵌套列表的拆分方法
场景:有一个多层嵌套的列表如:[[23],[3,3],[22,22],1,123,[[123,a],2]] 拆分成: def splitlist(list): ''' 现有一个列表,里面元素包括 数字,字母,列表,字典等元素,现在要将字典去掉,并将列表 分解成字母,或数字元素如:[[1,2,3],2,3,[1,3,[12,22]],'a',12] 经函数处理后[1, 2, 3, 2, 3, 1, 3, 12, 22, 'a', 12] ''' alist = [] a = 0 for subli
-
python实现嵌套列表平铺的两种方法
方法一:使用列表推导式 >>> vec = [[1,2,3],[4,5,6],[7,8,9]] >>> get = [num for elem in vec for num in elem] >>> get [1, 2, 3, 4, 5, 6, 7, 8, 9] 方法相当于 >>> vec = [[1,2,3],[4,5,6],[7,8,9]] >>> result = [] >>> for ele
-
python反转列表的三种方式解析
这篇文章主要介绍了python反转列表的三种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.内建函数reversed() li =[1, 2, 3, 4, 5, 6] a = list(reversed(li)) print (a) 注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下 2.内建函数sorted() sorted()语法 sorted(iterable[, cmp[, k
-
python列表推导式操作解析
这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本格式 [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 例子:将a列表中大于5的数*10储存到b中 一般操作: a = [5,10,15,20] b = [] for n in a: if n > 5: b.append(n*10) print(b) 使用推导式可以令代码简洁 a = [5,10,15
随机推荐
- SQLite 中文指南之FAQ第1/6页
- JSP 开发之Spring BeanUtils组件使用
- 批处理命令教学之tree命令
- VBS教程:函数-转换函数
- JQuery对id中含有特殊字符的转义处理示例
- moq 的常用使用方法(推荐)
- JS判断变量是否为空判断是否null
- asp 关键词字符串分割如何实现方法
- MySQL常用聚合函数详解
- Mysql 5.7.19 免安装版遇到的坑(收藏)
- 基于h5的history改善ajax列表请求体验
- jQuery中triggerHandler()方法用法实例
- 中文路径导致unitpngfix.js不正常的解决方法
- c++ 类中const成员变量的赋值方法
- PHP详细彻底学习Smarty
- 新手必看的做站月赚一万再次交流
- Java计算黑洞数的方法示例
- Android开发实现按钮点击切换背景并修改文字颜色的方法
- python numpy格式化打印的实例
- 详解SpringBoot+Lucene案例介绍