• 迭代器,生成器,format,sort,sorted,nlargest,nsmallest


    list1=[1,2,3,4,5,]

    list1_iter=list11.__iter__()   所有的迭代器对象都是可迭代对象反之不成立 还要next方法 字符串等等都就没有next方法但是可以经iter转为迭代器对象

    print(list1_iter.__next__())

    print(list1_iter.__next__())

    print(list1_iter.__next__())

    for 循环原理

    将 in 后面刻碟带对象转换成迭代器对象,将里面每个值用next取出赋值给in前面变量,直到异常

    但凡函数内出现yield关键字,再去调用函数不会立即执行函数体代码,会得到一个返回值,该返回值就是生成器对象,即自定义的迭代器
    '''

    # #
    def func():
    print('first')
    yield 1
    print('second')
    yield 2
    print('third')
    yield 3
    yield后函数不执行 next一次执行一次 next(func())
    并且yield可以返回值 与return不同的是yield可以让函数暂停在某处,并可以多次获得yield值
    是一种自定义迭代器
    print(format(0xa,'x')) 
    format(‘13415’,‘o’)转八进制  d10  x16 c unicode码   b二进制    n也是10 空默认10   x字母大写 转换大写
    format(‘13441.4635’,‘f’)小数点计数 默认6 ‘e’ 科学计数默认6 0.8f 8位
    'my name is {} ,age {}'.format('hoho',18)
    'my name is hoho ,age 18'
    参数说明:
    sort没有返回值永久改变与按顺序,sorted有返回值,调用方法不一样,xx.sorted()
    (1)  cmp参数
    cmp接受一个函数,拿整形举例,形式为:
    def f(a,b):
         return a-b
    如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了
     
    (2)  key参数
     key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
    def f(a):
         return len(a)
    key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
     
    (3) reverse参数
    接受False 或者True 表示是否逆序
    sort
    import heapq
    # nums=[1,3,5,65,-9,23,45,0]
    # print(heapq.nlargest(4,nums))
    # print(heapq.nsmallest(4,nums))
    #
    # dic=[
    # {'name':'Tom','salary':2000},
    # {'name':'Tony','salary':2333},
    # {'name':'Hoowk','salary':4000},
    # {'name':'Mr3','salary':1000}
    # ]
    # print(heapq.nlargest(3,dic,lambda x:x['salary']))
    dic=[
    {'name':'Tom','salary':2000},
    {'name':'Tony','salary':2333},
    {'name':'Hoowk','salary':4000},
    {'name':'Mr3','salary':1000}]
    # for i in dic:
    print(dic.sort(key=lambda x:x['salary'],reverse=True))
    print(dic)
    print(sorted(dic,key=lambda x:x['salary'],reverse=True))







  • 相关阅读:
    单选文本及多行文本溢出问题
    div和textarea内容转换(****)
    URL OR PC/PHONE OR Strlen
    DocumentFragment(创建文档碎片节点)
    ETag
    重绘和回流
    自定义指令
    Angular JS 自定义服务
    jquery ajax 实例
    js 斐波那契序列
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10453257.html
Copyright © 2020-2023  润新知