Python高级特性

高级特性的作用在于用最少的代码解决问题,代码越少效率越高

一,切片

     切片的作用于包括集合,元组,字符串

    [0:10]:获取集合或者字符串中第 0 个到第 9 个元素组成新数据,切片规则时包左不包右

    [0:10:2]:获取第 0 个到第 9 个的元素中第 0 ,2,3,5,7,9 的元素组成新数据

    [::2]:从第一个元素开始跳过一个元素获取元素组成新数据

    [-3:-1]:获取倒数第三和倒数第二的元素组成新数据

   

二,迭代

    可以使用 for x in xxx 迭代任何能迭代的数据类型,如集合,元组,tuple,字符串等

    数据是否可以迭代可以使用 collections 模块的 Iterable 类型判断:

        from collections import Iterable #导入模块
        isinstance('abc', Iterable) # str是否可迭代

三,列表生成式

    1,list(range(1,11)):[1,2,3,4,5,6,7,8,9,10]    =>    普通生成列表

    2,[ x*x  for  x  in  range(1,5) ]:[1,4,9,16]    =>    根据运算结果生成列表

    3,[ x*x  for  x  in  range(1,7)  if  x  %  2  == 0]:[4,16,36]    =>    根据条件获取元素再进行运算生成列表

    4,[ x + y  for  x  in  "AB"  for  y  in  "XY" ]:["AX","AY","BX","BY"]    =>    双层循环获取元素生成列表

    5,[ x + y  for  x , y  in  dict.items() ]    =>   获取两个元素生成列表


四,生成器

列表元素可以通过运算生成,而且如果使用集合的话会造成元素过多,造成内存浪费,这个时候就可以使用生成器,generator。

generator 的元素可以用 next(generator) 来获取,也可以通过迭代过去元素

定义 generator 语句时在返回语句的地方使用 yield ,generator 会在调用 next(generator) 方法的时候运行,而运行会在遇到 yield 时停止,下一次调用 next() 时会从上一次的 yield 的地方继续执行


五,迭代器

可以使用 for 循环的对象称作为可迭代对象 Iterable

需要用 next() 作用循环的对象叫做 Iterator ,是一种惰性计算的序列,即为迭代器

可以使用 isinstance() 方法来判定是否是可迭代对象,isinstance("abc" ,Iterable) ==> 如果是返回 True,否则返回 False

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值