python-3-高级特性

30 篇文章 0 订阅
17 篇文章 0 订阅
高级特性
1、切片
1.1、对于获取指定索引范围的操作可以用切片
  • 比如L[0:3]。获取前三个元素;若第一个索引是0,也可以用L[:3]。tuple也可以用切片操作,获取的结果仍然是tuple。字符串也可以看做是一种list,每个元素就是一个字符。[::2]每2个数取一个。
2、迭代
  • python的for循环可以用在所有可迭代对象上,无论有无下标。
  • 迭代value,可以用for value in dict.values(),同时迭代key和value:for k,v in dict.items()。
  • 可以迭代字符串。
  • 判断一个对象是否为可迭代对象可以用collections模块的Iterable类型判断:isinstance(‘abc’, Iterable)。enumerate函数可以把一个list
3、列表生成式
  • 是python内置的创建list的生成式。生成1-10的list时,可以使用list(range(1,11)).
  • range(2, 101, 2)为100以内的偶数。
  • print([x * x * x for x in range(1,11) if x % 2 == 0])
  • print([m + n for m in [‘A’,‘B’,‘C’] for n in [‘X’,‘Y’,‘Z’]])
  • 判断是否为字符串isinstance(x,str)。
4、生成器
  • 一边循环一边计算的机制称为生成器:generator
  • 创建方法:把一个列表生成器的[]改为()。可以通过next()函数获得generator的下一个返回值,直到没有元素了,抛出StopIteration的错误。可以使用for循环获取每个元素。
  • 函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield返回,
5、迭代器
  • 可以直接作用于for循环的对象统称为可迭代对象:Iterable对象。同样可以用isinstance来判断类型。
  • 可以被next()函数调用并不断返回下一个值得对象称为迭代器:Iterator。
  • 生成器都是Iterator对象,但是list、dict、str虽然是Iterable,却不是Iterator。可以使用iter()函数将其变为Iterator。
  • Iterator只有在需要返回下一个数据时才会进行计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值