zoukankan      html  css  js  c++  java
  • 列表推倒式

    列表推倒式
    # 循环模式:[变量(加工的变量) for 变量 in iterable]
    # 筛选模式: [变量(加工的变量) for 变量 in iterable if 条件]
    # 多层嵌套
    l = [x for x in range(1, 11, 2)]
    print(l)  # [1, 3, 5, 7, 9]
    
    l = [x**2 for x in range(10)]
    print(l)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    
    # ['python0期', 'python1期', 'python2期', 'python3期', 'python4期']
    l = [f'python{x}期' for x in range(5)]
    print(l)
    
    l = [i for i in range(30) if i % 3 ==0]
    print(l)  # [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
    
    
    l = ['hello', 'hi', 'wonderful']
    l1 = [x.upper() for x in l if len(x) > 3]
    print(l1)  # ['HELLO', 'WONDERFUL']
    
    # 多重循环
    names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],
             ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    
    # 普通方式
    l1 = []
    for i in names:
        for j in i:
            if j.count('e') >= 2:
                l1.append(j.upper())
    print(l1)
    
    #  列表推倒式方式
    name = [j.upper() for x in names for j in x if j.count('e') >= 2]
    print(name)
    
    
    # 生成器表达式也包括循环模式。筛选模式, 嵌套等 。
    # 列表推倒式[]  生成器表达式()
    # 列表推倒式是 iterable ;  生成器表达式是iterator
    
    l = (x for x in range(3))
    print(type(l))  # <class 'generator'>
    # print(next(l)) # 0
    # print(next(l)) # 1
    for i in l:
        print(i)  # 0 1 2
    
    
    # 字典推倒式
    
    name = ['路飞', '娜美', '罗宾']
    hobby = ['肉', '钱', '考古']
    # 方式1
    dic = {}
    for i in range(len(name)):
        dic[name[i]] = hobby[i]
    print(dic)  # {'路飞': '肉', '娜美': '钱', '罗宾': '考古'}
    
    # 方式2
    dic = {name[i]: hobby[i] for i in range(len(name))}
    print(dic)  # {'路飞': '肉', '娜美': '钱', '罗宾': '考古'}
    
    
    # 集合推倒式
    print({x for x in range(3)})  # {0, 1, 2}
    
  • 相关阅读:
    CSS 引入方式
    css的选择器效率分析
    CSS样式优先级
    JSONP
    javascript跨域的几种方法
    精确获取对象的类型:Object.prototype.toString()
    MooseFS
    使用tmpfs作为缓存加速缓存的文件目录
    nginx auth
    memcached
  • 原文地址:https://www.cnblogs.com/jnsn/p/12821346.html
Copyright © 2011-2022 走看看