Python学习笔记5_列表推导式与序列解包
2017-09-10 21:59
731 查看
本篇文章介绍列表推导式与序列解包。
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 1
alist=[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,3
print x,y,z运行结果:
1 2 3
其中要注意的是字典。字典这个东西比较麻烦,因为涉及到item,keys与values这三个关键字,所以在很多地方都要额外注明,序列解包的应用亦然。
序列解包应用于字典时,默认的操作对象是key。
adict={'a':1,'b':2,'c':3}
x,y,z=adict
print x,y,z
x,y,z=adict.items()
print x,y,z
x,y,z=adict.values()
print x,y,z运行结果:
a c b
('a', 1) ('c', 3) ('b', 2)
1 3 2
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 1
alist=[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,3
print x,y,z运行结果:
1 2 3
其中要注意的是字典。字典这个东西比较麻烦,因为涉及到item,keys与values这三个关键字,所以在很多地方都要额外注明,序列解包的应用亦然。
序列解包应用于字典时,默认的操作对象是key。
adict={'a':1,'b':2,'c':3}
x,y,z=adict
print x,y,z
x,y,z=adict.items()
print x,y,z
x,y,z=adict.values()
print x,y,z运行结果:
a c b
('a', 1) ('c', 3) ('b', 2)
1 3 2
相关文章推荐
- Python学习笔记——序列、列表
- Python学习笔记 -- 序列(三)列表
- python学习笔记(1-2)- 数据结构序列之列表
- python学习笔记5—序列与列表的操作
- python笔记6 - 序列,列表(生成,常用方法,运算,切片赋值),深拷贝和浅拷贝,列表推导式
- Python学习笔记2:构造序列:列表推导和生成器表达式
- Python学习笔记:列表推导式List Comprehension
- Python常用的内置序列结构(列表、元组、字典)学习笔记
- Python常用的内置序列结构(列表、元组、字典)学习笔记
- python 学习笔记 二 序列, 列表, 元组, 字符串
- 『Python』序列学习总结之五 ——列表推导式的一些应用
- python学习笔记三:列表
- Python学习笔记二 列表和元组
- python核心编程学习记录之序列(字符串元组列表)
- python学习笔记3--列表,元组
- Python 学习笔记 (1)—— 字符串、元组、列表、字典
- Python学习笔记4--列表
- Python学习笔记----序列共性
- Python学习笔记(6)- 列表的切片
- Python学习笔记 第一课 列表