python 笔记7

1、内建函数:

  (1)、sorted(iterable[,key][,reverse])排序

    返回一个新的列表,默认升序

    reverse是反转,当reverse是True时进行反转

  (2)、chr(i)给一个一定范围的整数返回对应的字符

       例: chr(97)

     ord(c)返回字符对应的整数

       例:ord('a')

  (3)、翻转reversed(seql)

        返回一个翻转元素的迭代器

        那么我们可以对它进行next()操作

  (4)、枚举 enumerate(seq,start=0)

        迭代一个序列,返回索引数字和元素构成的二元组

        start表示索引开始的数字,默认为0,枚举的元素并没有少,只是索引的开始位置做了偏移。枚举生成的也是一个迭代器

  (5)、迭代器和取元素iter(iterable)、next(iterator)

        iter将一个可迭代器对象封装成一个迭代器

        next对一个迭代器取下一个元素。如果全部元素都取过了,再次next会抛异常

例:it=iter(range(5))

  next(it)

    

  it=reversed([1,4,5])

  next(it)

  (6)、拉链函数zip(*iterables)

      像拉链一样,把多个可迭代对象合并在一起,返回一个迭代器;将每次从不同对象中取到的元素合并成一个元素,类似于“木桶原理”,最终合成的迭代器按最短的那个迭代

  例、list(zip(range),range(10)))

    

  dict(zip(range(10),range(10))) #用于生成字典很方便,前面的作为key,后面的作为value

    {str(x):y for x,y in zip(range(10),range(10))} #用到了解构

    {str(x):y for x,_,y in zip(range(10),range(10),range(10,20))} 

2、可迭代对象

  能够通过迭代一次次返回不同的元素对象,所谓相同不是指值是否相同,而是元素在容器中是否是同一个;可以迭代但未必有序,未必可以索引;可迭代对象有:list、tuple、 string、bytes、bytearray、range、set、dict、生成器等;可以使用成员操作符in、not in ,in本质上就是遍历对象  

3、迭代器

  特殊的对象,一定是可迭代器对象,具备可迭代对象的特征;通过iter方法把一个可迭代对象封装成迭代器;通过next()方法,迭代 迭代器对象;生成器对象就是迭代器对象。迭代器不一定是生成器,生成器是一个惰性(按需)求值的过程

4、对象长度len(s):返回一个集合类型的元素个数

isinstance(obj,class_or_tuple):判断对象obj是否属于某种类型或者元组列出的某个类型

例:isinstance(True,int) 测试True是否为int

issubclass(cls,class_or_tuple):判断类型cls是否是某种类型的子类或元组列出的某个类型的子类

例:issubclass(bool,int)

posted @ 2019-12-28 15:03  二十四长夜明  阅读(145)  评论(0编辑  收藏  举报