zoukankan      html  css  js  c++  java
  • day14 生成器表达式,列表推导式 以及 部分内置函数

    1 小知识点

    l1=[1,2,3,]
    from collections import  Iterable
    from collections import  Iterator
    print(isinstance(l1,Iterable))   #检验l1的数据类型是不是可迭代的数据类型
    print(isinstance(l1,Iterator))    #检验l1的数据类型是不是迭代器
    print(isinstance(l1,list))        #检验是不是列表 
    true  flase  true
    

      今日主要内容:

    列表推导式

    1好处 节省代码  一行搞定

    2缺点 不好拍错

    3整体 凡是用列表推导式构造的类表对象,  用其他方式都可以搞定  

    非常复杂的列表 列表推导式是做不出来的

    l3=[ "技师%s号" % w  for w in range(0,16)]
    print(l3)
    l4=["护士%s号" % w  for w in range(1,14,2)]
    print(l4)
    l5=["护士%s号" % w  for w in range(15) if w%2==1]
    print(l5)
    

      分类

    [变量(加工后的变量)  for 变量 in iteable]  循环模式

    [变量(加工后的变量)  for 变量 in iteable]  if 条件]    筛选模式

    print(l)
    l1=[i*i for i in range(31) if i%3==0]
    print(l1)
    l2=[i for i  in  range(101) if i%2==1]
    print(l2)
    

      2生成器表达式

    l1 = ['python%s期' % i for i in range(1,14)]
    print(l1)
    g_obj = ('python%s期' % i for i in range(1,14)) # 循环模式
    g_obj1 = ('python%s期' % i for i in range(1,14) if i % 2 == 0) # 循环模式
    print(g_obj)  #拿到的是这个列表的内存地址  只能通过__next__来一项一项拿出
    print(g_obj.__next__())
    print(g_obj.__next__())
    print(g_obj.__next__())
    print(g_obj.__next__())
    for i in g_obj1:
        print(i)
    

      

    1生成器函数 ,有yield

    2生成器表达式

    names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
             ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    l2 = [name for i in names for name in i if name.count('e') == 2]
    l1 = []
    for i in names:
        for name in i:
            if name.count('e') == 2:
                l1.append(name)
    print(l1)
    print(l2)
    

      

    mcase = {'a': 10, 'b': 34}
    print({mcase[i]: i for i in mcase})
    

      

  • 相关阅读:
    MySql 范式
    MySql 多表关系
    MySql 约束条件
    MySql 枚举和集合 详解
    【RoR win32】新建rails项目找不到script/server的解决办法
    【RoR win32】安装RoR
    【RoR win32】提高rails new时bundle install运行速度
    【bs4】安装beautifulsoup
    【py分析网页】可能有用的-re去除网页上的杂碎
    【pyQuery】抓取startup news首页
  • 原文地址:https://www.cnblogs.com/daien522556/p/9204016.html
Copyright © 2011-2022 走看看