python之列表解析

列表解析:是指在原列表的基础之上生成新的列表

列表解析式生成列表,通过for循环也可以实现,优势在于列表表达式比for循环快。

列表解析表达式:

表达式一

[expression for iter_var in iterable]

将迭代对象(iterable)中的值赋给iter_var,并执行expression

例:

>>> a = [1,2,3,4,5]

>>> b = [i**2 for i in a]

>>> b

[1, 4, 9, 16, 25]

将a中的值,赋给i,i执行i**2,所得值生成b

表达式二:

[expression for iter_var in iterable if condition]

将迭代对象(iterable)中的值取出,如果满足contion,则赋给iter_var,并执行expression

例:

>>> a = [1,2,3,4,5]

>>>c = [i**2 for i in a if i % 2 == 0 and i >=3]

>>> c

[16]

将a中的值取出,并且值为偶数且大于3,则执行i**2,生成c

时间: 2024-08-05 04:55:50

python之列表解析的相关文章

python之列表解析与生成器

防伪码:忘情公子著 什么是列表解析? 列表解析就是根据已有列表,高效生成新列表的方式 列表解析是python迭代机制的一种应用,它常用于实现创建新的列表,因此要放置于[]中 语法: [expression for iter_var in iterable][expression for iter_var in iterable if cond_expr] 例: In [1]: L = [i**2 for i in xrange(9)] In [2]: print L[0, 1, 4, 9, 16

浅析python列表解析和迭代

要看懂列表解析,首先要知道几个定义,第一个是python的解释器,虽然大多数时候,我们都将python当作一门编程语言来看待,实际上,python也是一个名为解释器的软件包,解释器是一种能让其他程序运行起来的程序,如果你写了一段代码,让python解释器读取程序,并且按着命令执行,得出结果,实际上,解释器是代码雨计算机硬件之间的软件逻辑层,计算机上安装的python程序就是一个解释器和一些基本的库,例如os,sys模块,是最基本的包.值得一提的是在python的解释器里面运行.第二个是迭代器(i

Python内置容器(2)——字典,迭代器,列表解析

1.迭代器 iterator iter 函数,构造集合. next 方法依次返回迭代器的值 In [42]: li Out[42]: [1, 2, 3, 4, 5] In [43]: it = iter(li) In [44]: it.next() Out[44]: 1 In [45]: it.next() Out[45]: 2 当所有的元素都返回完的时候,会抛出一个StopIterator 的异常. list,tuple,set 都属于集合. for 语句,当将一个列表传递给for 语句的时候

Python自动化运维之7、格式化输出、生成器、迭代器、列表解析、迭代器表达式

Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] (1)百分号格式化 %[(name)][flags][width][.precision]typecode .... (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空

python高级编程之列表解析

#列表解析 #编写0到10之间的偶数 #方法1 #结果:[0, 2, 4, 6, 8] num=range(10) num1=len(num) evens=[] i=0 while i<num1: if i%2==0: evens.append(i) i+=1 print evens #方法2 print [(i)for i in range(10)if i%2==0] #enumerate获取索引 #方法1 i=0 l=['a','b','c','d'] for  li in l: l[i]=

Python(五)之迭代器和列表解析

Python迭代器和列表解析 迭代器 例如: In [1]: l1 = [1,2,3,4,5] dir(i1)可以看到内置方法'__iter__' 生成一个迭代器: l1.__iter__,或i2 = iter(l1) 列表解析 列表解析:根据已有列表,高效生成新列表的方式 列表交叉生产元素为元组的列表: 列表解析扩展: 上述列表解析直接生成列表,如果列表过大,会占用过多内存,那么可以使用生成器返回一个生成器对象,如下解释:列表解析和生成器表达式关系类似于range和xrange的关系. 例如:

Python之 迭代器 列表解析器

回顾: 1.动态语言 sys.getrefcount()  对象被引用的次数. 增加对象引用次数的场景:以赋值方式创建对象:对象作为某容器的元素时:被当做参数传递给函数时:为对象创建另外的变量名: 减少引用计数:引用此对象的某变量名被显式销毁 del x :给引用此对象的变量名重新赋值:从容器中移除对象,list.pop():容器本身被销毁: 完备和非完备遍历 Python迭代器 又称游标,是程序设计的软件设计模式,是一种可在容器物件上实现元素遍历的接口.是一种特殊的数据结构,在Python中,

Python学习_列表解析和Lambda表达式

1.根据要求创建列表threes_and_fives(列表值包括1到15中能够被3或者5正常的数) threes_and_fives=[x for x in range(1,16) if x%3==0 or x%5==0] 2.lambda表达式实例(剔除掉列表中的"X") garbled = "IXXX aXXmX aXXXnXoXXXXXtXhXeXXXXrX sXXXXeXcXXXrXeXt mXXeXsXXXsXaXXXXXXgXeX!XX" message

python列表解析

#!/bin/env python #这句会生成一个列表[0,1,2,3,4,5,6,7,8,9] list_a = [item for item in range(10) ] #下面对这个列表进行筛选(条件为偶数) list_b = [item for item in list_a if(item%2==0)] #这样就可以筛选出列表中的偶数 #其实列表解析可以看成是这样的 #[变量(或变量运算表达式)      迭代器(可迭代对象 相当于是一个for循环)     筛选条件] #下面这个会生