Python学习-35.Python中的List Comprehensions(列表解释|列表生成式)
在某些情况下,我们需要对列表进行某些操作,例如对列表中的每一个元素都乘以2,这样一般来说就是遍历每个元素在乘以2。那么写下来就得两行了。而且这会修改原来的列表,如果要求不能修改原来的列表,又得多一行了。
mylist = [1,3,5,7]
copylist = []
for i in mylist:
copylist.append(i * 2)
print(copylist)
一眼看上去就是臃肿二字。
Python提供了更加简便的写法:
mylist = [1,3,5,7]
copylist = [elem * 2 for elem in mylist]
print(mylist)
print(copylist)
输出:
1 3 5 7
2 6 10 14
这么写显得简便得多了。而且也很容易懂,先说for elem in mylist这部分,就是一个循环——声明elem临时变量,遍历mylist列表。而elem*2则表明对elem临时变量进行乘以2的操作,最后[]则很好理解,因为我们需要的是一个列表。总的来说就是从mylist列表中取元素,返回一个每个元素都乘以2的列表。
列表解释的强大之处不仅仅如此,还可以进行条件过滤:
mylist = [1,2,3,4,5,6,7,8,9,10]
copylist = [elem * elem for elem in mylist if elem % 2 == 0]
print(copylist)
那么这样就把列表中所有的偶数的二次方都输出出来了。
总的来说,列表解释有像C#中的Linq。
Python学习-35.Python中的List Comprehensions(列表解释|列表生成式)的更多相关文章
- Python学习day09 - Python进阶(3)
		
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
 - Python学习day05 - Python基础(3) 格式化输出和基本运算符
		
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
 - Python学习笔记6-Python中re(正则表达式)模块学习
		
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...
 - Python学习-39.Python中的生成器
		
先回顾列表解释 lista = range(10) listb = [elem * elem for elem in lista] 那么listb就将会是0至9的二次方. 现在有这么一个需求,需要存储 ...
 - Python学习day07 - Python进阶(1) 内置方法
		
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
 - Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
		
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
 - python学习笔记-python程序运行
		
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
 - python学习: 优秀Python学习资源收集汇总--转
		
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
 - Python学习(002)--Python介绍
		
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
 
随机推荐
- mysql异常
			
一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分析:这说明“localhost”计算机 ...
 - 实例学习SSIS(一)
			
网址: http://www.cnblogs.com/tenghoo/archive/2009/10/archive/2009/10/archive/2009/10/archive/2009/10/a ...
 - RecycleView实现侧滑删除item
			
对于列表空间的侧滑操作,网上有很多开源的空间可以使用,Google在它的新控件RecycleView中增加了侧滑的API,完全遵循Material Design设计规范,下面看看效果演示: 下面看看介 ...
 - 10.9zuoye
			
public class fulei { public fulei() { System.out.println("欢迎使用海尔"); } public String Pinpai ...
 - phpStudy2——PHP脚本访问MySql数据库
			
前言: 前边介绍了php脚本获取并打印输出html提交的数据,本文将介绍php脚本访问查询MySql数据库. 示例代码: <style> td{width:100px;}/*我的存在只为证 ...
 - sqlserver2008debug存储过程
			
新建一个查询窗口,exec proc_name params…… 然后启动调试 右侧可以选择“逐过程”“逐语句”“跳出”,下方展示变量的值 参考文章:https://www.cnblogs.com/s ...
 - mysqlbateis generator 当遇到tinyint 生成转化bool 解决方法
			
当遇到tyint 生成转化bool 类型问题很恶心,记录一下解决方法 一. TinyInt转换规则 JAVA数据类型 和 MYSQL的数据类型转换,要注意tinyInt 类型,且存储长度为1的情况. ...
 - 二叉树的最大/小/平衡 深度 depth of binary tree
			
[抄题]: 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. [思维问题]: [一句话思路]: 分合法的定义 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况 ...
 - 在不用重做系统下,把硬盘IDE模式修改为AHCI模式
			
Win10自2015年7月29日诞生以来已经3年多了,虽然截至到现在Win7用户使用者仍然比Win10用户多,但是Win10用户也在逐渐增加 所使用的硬件--硬盘 用户为了更好的体验,也逐步的从H ...
 - sc start service 1063 1053 错误原因
			
在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是 ...