列表推导(list comprehension)--Python

列表推导是为了减少将一个列表转换为另一个列表时所需要编写的代码的重复。

推到列表

将一个列表转换为另一个列表时需要做4件事

a,创建一个新列表来存放转换后的数据。

b,迭代处理原列表中的各个数据项。

c,每次迭代时完成转换。

d,将转换后的数据追加到新列表。

clean_mikey = []
for each_t in mikey:
clean_mikey.append(转换函数(each_t))
clean_mikey = [处理函数(each_t) for each_t in mikey]

上面两处代码所做事情相同。

时间: 2024-08-09 01:53:45

列表推导(list comprehension)--Python的相关文章

Head Frist Python 读书笔记 列表推导(list comprehension)

列表推导(list comprehension)是个挺有意思的功能,应该是一个语法糖吧,列表推导这个名字大概是意译,不过list comprehension这个真不知道该怎么翻译. 列表推导是Python支持函数编程概念的一个例子. 列表推导的功能是减少代码书写量,可以省点事情,本来需要两行的,现在只需要一行. 比如说要对一个list中的所有数据都进行相同的处理,通常可以这么写: data=[1,2,3,4,5,6] result=[] for item in data: result.appe

Python学习笔记2:构造序列:列表推导和生成器表达式

欢迎访问个人网站:www.comingnext.cn 1. 关于Python内置序列类型 a. 按能否存放不同类型的数据区分 容器序列: list.tuple 和collections.deque这些序列能存放不同类型的数据 扁平序列: str.bytes.bytearray.memoryview和array.array,这类序列只能容纳一种类型. b. 按能否被修改来分类 可变序列: list.bytearray.array.array.collections.deque 和 memoryvi

python中,for循环,map函数,list comprehension列表推导的效率比较

在我们平时写代码中,肯定会遇到不少从一个列表向另一个列表进行转化的操作,以给列表中每个int元素+1为例,通常我们会用到一下3种方式: array = range(1000) # 循环 a = [] for i in array: a.append(i+1) #map函数 a = map(lambda x: x+1, array) #列表推导 a = [x+1 for x in array] 究竟以上三种写法有何差异,哪种写法最好,之前读google的代码规范说推荐第三种列表推导,那么为什么推荐

python 列表推导式----轻量级循环

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法.它的工作方式类似于for循环,也很简单: In [39]: [x*x for x in range(10)]Out[39]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 如果只想打印出那些能被3整除的平方数,只需要通过添加一个if部分在推导式中就可以完成: In [41]: [x*x for x in xrange(10) if x % 3 == 0

Python中的列表推导式

Python里面有个很棒的语法糖(syntactic sugar),它就是 list comprehension ,有人把它翻译成"列表推导式",也有人翻译成"列表解析式".名字听上去很难理解,但是看它的语法就很清晰了.虽然名字叫做 list comprehension,但是这个语法同样适用于dict.set等这一系列可迭代(iterable)数据结构. 语法规范: out_list = [out_express for out_express in input_l

Python 列表推导、迭代器与生成器

1.列表推导 1 2 3 4 5 6 7 8 9 10 11 numbers = [i for i in range(10) if i % 2 == 0] print(numbers) seq = ["one", "two", "three"] for i, element in enumerate(seq):     print(i, element) def treatment(pos, element):     return ('%d:

python 3列表推导式的的一点理解!

Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式,我的理解方式是从右往左看. 一点一点来看吧,我们先用range(1,100)生成一个迭代器对象(1-99的列表),然后再迭代这个列表的每一个对象,然后让每个对象执行一次平方操作,最后生成一个列表. -----------------------------分割线----------------------------------------

Python的列表推导式

1.列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 2.举例说明: #!/usr/bin/python # -*- coding: utf-8 -*- li = [1,2,3,4,5,6,7,8,9] print [x**2 for x in li] print [x**2 for x in li if x>5] print dict([(x,x*10) for x in li]) print [ (x, y) for

python 列表推导

python 列表推导 python List Comprehensions List Comprehensions List comprehensions are an elegant way to build a list without having to use different for loops to append values one by one. 最简单形式 [ expression-involving-loop-variable for loop-variable in s