python 列表推导式详解
推导式comprehensions(又称解析式),是Python的一种独有特性,可以从一个数据序列构建另一个新的数据序列。具有使用方便,让代码看起来很高级的功能。
分析
考虑以下需求:
a=[1,2,3,'a','b','c']
要取出列表中的数字,然后平方,得到一个新的列表。
一般可以这样解决:
a=[1,2,3,'a','b','c']
b=[]
for i in a:# isinstance(a,type) 判断a的类型是不是typeif(isinstance(i,int)):b.append(i**2)
print(b)
如果使用列表推导式,会简洁很多:
a=[1,2,3,'a','b','c']
b=[i**2 for i in a if isinstance(i,int)]
print(b)
列表表达式由四个部分组成:
- 输入的列表
- 列表循环变量
- 可选的约束条件
- 输出表达式
例子
计算x的平方
#0-9 x = list(range(10)) print(x) y = [i**2 for i in x] print(y)
实现嵌套列表的平铺
vec = [[1,2,3],[4,5,6],[7,8,9]] print(vec) y = [j for i in vec for j in i] print(y)
过滤不符合条件的元素
a = [1,2,3,0,-1,-3,-100,100] print(a) b = [i for i in a if i > 0] print(b)
多序列任意组合
a = [1,2,3,4,5,6,7] b = [1,2,3,4,7,7,7] c = [(x,y) for x in a for y in b if(x==y)] d = [(a[x],b[y]) for x in range(7) for y in range(7) if a[x]==b[y]and(x==y)] print(c) print(d)
矩阵按列读取
a = [[1,2,3],[4,5,6],[7,8,9]] b = [[row[i] for row in a] for i in range(3)] print(b)
生成100以内的素数
import numpy as np a = [x for x in range(2,101) if 0 not in [x%i for i in range(2,int(np.sqrt(x)))] ] print(a)
python 列表推导式详解相关推荐
- 列表推导式详解:[i for i in L]
python的一般for循环:for i in x:#x是列表对象 而列表推导式是:[i for i in x] 其意为:用for i in x的所有遍历结果i来组成一个新的列表 1.列表推导式详解: ...
- 列表推导式 python原理_Python进阶-列表推导式详解总结
列表推导式并不是什么特别的技术,它只是一种创建列表的简洁方法,目的是为了让大家写程序时更方便更快捷,写出更简洁的代码 初识列表 现在请创建一个list,元素为1到9的整数,先用普通方法做 lst = ...
- Python基础教程:列表推导式详解
我们经常需要这样处理一个列表:把一个列表里面的每个元素, 经过相同的处理 ,生成另一个列表. 比如:一个列表1,里面都是数字,我们需要生成一个新的列表B,依次存放列表A中每个元素的平方 怎么办? 当然 ...
- python各种推导式详解
推导式的套路 下面是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out_exp_res for out_exp in input_list if out_ex ...
- 列表推导式 python_Python进阶 列表推导式详解总结
列表推导式并不是什么特别的技术,它只是一种创建列表的简洁方法,目的是为了让大家写程序时更方便更快捷,写出更简洁的代码 初识列表 现在请创建一个list,元素为1到9的整数,先用普通方法做lst = [ ...
- Python 列表推导式 - Python零基础入门教程
目录 一.Python 列表推导式简介 二.Python 列表推导式语法 三.Python 列表推导式练习 1.Python 列表推导式案例一 2.Python 列表推导式案例二 3.Python 列 ...
- python 列表推导式csv_Python 列表推导式
在本教程中,我们将学习使用 Python 列表推导. Python 列表推导式 列表推导式是一种基于现有列表创建列表的语法结构. 列表推导式为创建列表提供了一种简洁的方法. 常见的要求是创建新列表,其 ...
- 【技能树共建】Python 列表推导式
Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...
- python列表推导式是什么
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的, ...
最新文章
- sqlserver 日常检查脚本
- php做一个微信退款,PHP实现微信申请退款流程实例代码
- django orm关联查询_Django ORM 聚合查询和分组查询实现详解
- IntelliJ IDEA 文件夹重命名--解决重命名后js文件引用找不到路径报404错误
- 布尔型Boolean+undefined+null(JS)
- hdu 6096 String(AC自动机巧妙建图)
- (11)Redis------分布式锁的实现方式之一(基于Springboot项目搭建)
- 学习笔记第十四篇之知乎社交网络分析
- python开新窗口的方法_python tkinter点击按钮打开新窗口
- linux下python网络编程框架-twisted安装手记,linux下Python网络编程框架-Twisted安装
- 上海交通大学考研网络安全专业823复习策略
- 实现一个内存池管理的类
- 这所211怒将自己学生告成老赖:90后校友承诺捐母校1100万未兑现
- 【TensorFlow基础】
- 二叉树遍历——先序遍历
- idea提交本地项目到oschina
- 计算机组成原理研究生试题三,计算机组成原理研究生入学试题.doc
- 每日新闻丨Facebook再曝数据泄露事故;国内首台晶圆自动翻转倒片机成功研发...
- dnf服务器炸团门票怎么找回,DNF:还在为魔界裂缝门票发愁吗?这些地方可以轻松获取门票...
- 从cas-overlay-template安装apereo cas 6.1.x并连接CAS客户端
热门文章
- 直接插入排序:监视哨的作用
- 上班时间写开源软件,结果被单位告被警察抓,这算什么?
- html css图片平铺整个页面,css 样式 图片平铺整个界面
- php如何平铺背景图片,css如何让背景图片平铺?css背景图片平铺四种方式介绍
- 大数据主导的七大领域,看看你是否身处其中!
- 微信开发者模式php,微信开发之开发者模式
- 网络安全应急响应----7、数据泄漏应急响应
- java毕业设计校园内推系统mybatis+源码+调试部署+系统+数据库+lw
- 太极拳“引进落空”的学理研究
- signature=b82cbfee4ef06278e49b74f8c0c0e8a0,FgfdhG0G4b58BB0Y