博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天学点Python之comprehensions
阅读量:6871 次
发布时间:2019-06-26

本文共 794 字,大约阅读时间需要 2 分钟。

每天学点Python之comprehensions


推导式能够简化对数据的处理,让代码简洁的同一时候还具有非常高的可读性。这在Python中非经常见。

列表推导式

通过列表推导式能够对列表中的全部元素都进行统一的操作来获得一个全新的列表(原列表不发生变化),形式如[处理方式 for 元素 in 列表],当中的处理方式能够是不论什么操作:

>>> a=[1,2,3,4]>>> [i*2 for i in a][2, 4, 6, 8]>>> a[1, 2, 3, 4]>>> [(i*2,i+10) for i in a][(2, 11), (4, 12), (6, 13), (8, 14)]

能够通过加上if语句来过滤掉原列表中的一些元素:

>>> a=[1,2,3,4]>>> [i*2 for i in a if i>2][6, 8]

字典推导式

我们能够通过推导式来创建一个字典,只是字典推导式的括号是花括号:

>>> a[1, 2, 3, 4]>>> { "str"+str(i):i for i in a }{
'str3': 3, 'str1': 1, 'str4': 4, 'str2': 2}

运用字典推导式有一个妙用,就是能够调换键和值的位置:

>>> a={
'one':1,"two":2,"three":3}>>> {
value:key for key,value in a.items()}{
1: 'one', 2: 'two', 3: 'three'}

注:确保值也是不可变类型,比如字符串、元组等

集合推导式

集合推导式与字典推导式相似。只是仅仅有一个值而不是键值对:

>>> a={
1,2,3,4,5}>>> {i**2 for i in a if i%2==1}{
1, 9, 25}

转载地址:http://vcpfl.baihongyu.com/

你可能感兴趣的文章
读懂系统负载(Load Avg)的含义 | Devops
查看>>
Linux命令对应的全称解释(转)
查看>>
验证码 和 验证控件
查看>>
struts2 ActionSupport关联源码
查看>>
【转】源码安装Mysql,补装innodb引擎方法
查看>>
[原]虚拟机(ubuntu)无法ping通主机
查看>>
android Build系统
查看>>
HTML5本地存储——IndexedDB(一:基本使用)
查看>>
Android Studio HelloWorld
查看>>
Windows命令点滴
查看>>
BZOJ-1040: [ZJOI2008]骑士 (树形DP)
查看>>
MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)...
查看>>
【Summary】ANSYS TRANSIENT ANALYSIS
查看>>
Unity3D性能优化--- 收集整理的一堆
查看>>
全面理解Unity加载和内存管理
查看>>
JMeter接口测试示例(二)
查看>>
swift -- 单例+ lazy懒加载 + 第三方库
查看>>
The Zen of Python, by Tim Peters
查看>>
SQL日期格式转换
查看>>
移动互联网下半场的面试真经,让你进入 BAT 不再是梦
查看>>