1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python目录制作器普遍迭代器实例详细说明

目录生成式基础语法

[expforiter_variniterable(ifconditional)]

python目录制作器普遍迭代器实例详细说明

基本原理: 最先迭代更新iterable里全部内容,每次迭代更新,都把iterable里对应的具体内容放在iter_var中,然后把关系式exp运用该iter_var的具体内容,依据标准进行分类,然后用关系式计算值形成一个全新的目录。先于for和if循环系统:

  1. 比for循环快得多
  2. 被视为比循环系统和映射函数更加具有python特点
  3. 目录生成式的词法比较容易阅读文章

应用目录生成式

一列处理for循环:

    #完成[1,2,3,4,5]的目录
    alist1=list(range(1,6))
    print(alist1)
    #完成[1,4,9,16,25,36,49]的目录
    alist2=[]
    for i in range(1,8):
        alist2.append(i*i)
    print(alist2)
    #用一列完成
    alist=[i if i in range(1,8)]
    print(alist) 

结论:

[1,2,3,4,5]

[1,4,9,16,25,36,49]

[1,4,9,16,25,36,49]

两层循环系统

    list2=[x+y for x in range(1,5) for y in range(1,6)]
    #结论:
    [2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9]

加判断语句,标准过虑

    list3=[x for x in range(1,10) if x>5]
    print(list3)
    #结论:
    [6,7,8,9]

添加函数公式:

    L=['Heli','JACK','ab']
    l1=[i.lower() for i in L]
    print(l1)
    #结论:
    ['heli','jack','ab']

普遍几类迭代器:range、zip、enumerate、filter、reduce

zip形成目录,形成词典。zip()函数公式接纳一连串可迭代对象做为主要参数,将不一样目标中相对应原素装包成数组(tuple),回到由这种数组构成的list目录:

    l1=[1,3,6]
    l2=[5,8,9]
    for (x,y) in zip(l1,l2):
        print(x, y, x + y) 
    #结论:
    1  5  6
    3  8  11
    6  9  15

keys和vals分别是目录的键和值:

    keys = ['a', 'c', 'f']
    vals = [1, 7, 3]
    D2 = {}
    for (k, v) in zip(keys, vals): D2[k] = v
    print(D2)
    #结论:
    {'a':1, 'c':7, 'f':3}

enumerate()函数公式用以把一个可赋值的数据对象(如目录、数组或字符串数组)组成为检索编码序列,与此同时列举数据与数据信息字符,一般用于for循环中:

    seasons = ['spring', 'summer', 'winter']
    a = list(enumerate(seasons))
    for i, element in enumerate(seasons):
        print(i, element)
    #结论:
    0 spring
    1 summer
    2 winter

综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6625.html