Python学习笔记5_列表推导式与序列解包
来源:互联网 发布:手机添加网络 编辑:程序博客网 时间:2024/06/08 18:34
本篇文章介绍列表推导式与序列解包。
1. 列表推导式
列表推导式即列表的元素部分是一个表达式。格式为:变量名后面跟上表达式。例如:
alist=[x for x in range(10)]print alist运行结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
可见,它的作用在于对元素的控制或筛选。
#-*- coding: UTF-8 -*-#输出所有大于0的数alist=[-1,-3,4,-6,2,10]blist=[x for x in alist if x>0]print blist
运行结果:
[4, 2, 10]
#-*- coding: UTF-8 -*-#输出所有素数def prime(x): "'判断x是否为素数" flag=0 for i in range(2,x/2+1): if x%i==0: flag+=1 if flag==0: return 0 else: return 1alist=[3,4,5,6,7,8,9,10,11]blist=[x for x in alist if prime(x)==0 ]print blist运行结果:
[3, 5, 7, 11]
列表推导式还可以进行嵌套。
a=[[1,2,3],[1,2,3],[1,2,3]]b=[x for b in a for x in b]print b运行结果:
[1, 2, 3, 1, 2, 3, 1, 2, 3]
关键:弄清逻辑,第一个for是那个变量 in 哪个变量
2.序列解包
序列解包就是,同时给多个变量赋值
x,y,z=1,2,3print x,y,z运行结果:
1 2 3
其中要注意的是字典。字典这个东西比较麻烦,因为涉及到item,keys与values这三个关键字,所以在很多地方都要额外注明,序列解包的应用亦然。
序列解包应用于字典时,默认的操作对象是key。
adict={'a':1,'b':2,'c':3}x,y,z=adictprint x,y,zx,y,z=adict.items()print x,y,zx,y,z=adict.values()print x,y,z运行结果:
a c b
('a', 1) ('c', 3) ('b', 2)
1 3 2
阅读全文
0 0
- Python学习笔记5_列表推导式与序列解包
- python学习笔记5—序列与列表的操作
- Python学习笔记:列表推导式List Comprehension
- Python学习笔记1---推导列表
- Python学习(二): 列表推导式与生成器表达式
- 【Python学习笔记】-Python中三目表达式与推导式
- 『Python』序列学习总结之五 ——列表推导式的一些应用
- Python快速入门(5)-列表与字典推导式
- Python的列表推导式学习
- python学习记录--列表推导式
- python 列表推导式
- python列表推导式
- python 列表推导式
- Python列表推导式
- python 列表推导式
- python 列表推导式
- python列表推导式
- python列表推导式
- spring中javaBean的生命周期
- 010、面向对象
- Hadoop ---- HDFS
- xlistview
- DBeaver连接MySQL报错
- Python学习笔记5_列表推导式与序列解包
- muduo网络库脉络分析(2)
- 无线网络覆盖
- xlistview
- Js 的六个迭代方法(写的太赞,不得不转)
- MANIFEST.MF详解及配置的注意事项
- Qt界面简单绘图学习笔记
- shell脚本
- xlistview布局