Python中的推导式

1.列表推导式

In [1]: [i**2 for i in range(1,5)]
Out[1]: [1, 4, 9, 16]

2.字典推导式

In [2]: {i:i**2 for i in range(1,5)}
Out[2]: {1: 1, 2: 4, 3: 9, 4: 16}

3.集合推导式

In [3]: { i for i in range(1,5)}
Out[3]: {1, 2, 3, 4}

4.生成器推导式

In [11]: items = (i**2 for i in range(1,5))

In [12]: for item in items:
    ...:     print(item)
    ...:
1
4
9
16

原文地址:https://www.cnblogs.com/litao2011/p/9549234.html

时间: 2024-11-06 23:53:26

Python中的推导式的相关文章

Python中的推导式介绍

推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 列表推导式 字典推导式 集合推导式 嵌套列表推导式 NOTE: 字典和集合推导是最近才加入到Python的(Python 2.7 和Python 3.1以上版). 下面简要介绍下: [列表推导式] 列表推导能非常简洁的构造一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形 其基本格式如下: [expr for value in collection if condition] 过滤条件可有可无,取

[转] python中的推导式(列表推导式,字典推导式, 集合推导式)

转自:https://www.cnblogs.com/yupeng/p/3428556.html  https://www.cnblogs.com/tkqasn/p/5977653.html 列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 原文地址:https://www.cnblogs.com/latup/p/9922855.html

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的各种推导式(列表推导式、字典推导式、集合推导式)

推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict)推导式 集合(set)推导式 一.列表推导式 1.使用[]生成list 基本格式 variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res: 列表生成元素表达式,可以是有返

python生成器和推导式

一.生成器 什么是生成器.生成器实质就是迭代器. 在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的装换也可以获取生成器 def func(): print("111") return 222 ret = func() print(ret) 结果:111 222 将函数中的return换成yield就是生成器 def func() print("111") yield 222 ret = func() pri

Python之列表推导式

我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表. 比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方 怎么办? 当然可以用for循环处理,像这样 list1 = [1,2,3,4,5,6] list2 = [] for num in list1: list2.append(num*num) Python还有更方便的语法,可以这样写 list1 = [1,2,3,4,5,6] list2 = [num**2 for

Python -- 函数之推导式

5.12 推导式 l = [] for i in range(1,11): l.append(i) print(l) # 用列表推导式 (一行搞定) l = [i for i in range(1,11)] print(l) 列表推导式可分为两种模式: 循环模式: [变量(加工的变量) for 变量 in iterable(可迭代对象)] 筛选模式: [变量(加工的变量) for 变量 in iterable(可迭代对象) if 条件] # 循环模式 1. 将10以内所有整数的平方写入列表. l

python迭代器,生成器,推导式

可迭代对象 字面意思分析:可以重复的迭代的实实在在的东西. list,dict(keys(),values(),items()),tuple,str,set,range, 文件句柄(待定) 专业角度: 内部含有'__iter__'方法的对象,就是可迭代对象. 内置函数:dir() print(dir(str)) 判断一个对象是否是可迭代对象: print('iter' in dir(str)) 优点: 直观. 操作方法较多. 缺点: 占内存. 不能迭代取值(索引,字典的key). 迭代器 字面意