zoukankan      html  css  js  c++  java
  • Python推导式

    """
    列表推导式
    [表达式 for item in 可迭代对象]
    或 [表达式 for item in 可迭代对象 if 条件判断]
    """
    a = [x*2 for x in range(5)]
    print(a)  # [0, 2, 4, 6, 8]
    
    a = []
    for x in range(5):
        a.append(x*2)
    print(a)
    
    a = [x*2 for x in range(5) if x % 2 == 0]
    print(a)  # [0, 4, 8]
    
    a = []
    for x in range(5):
        if x % 2 == 0:
            a.append(x*2)
    print(a)
    
    cells = [(row, col) for row in range(1, 3) for col in range(1, 3)]  # 两层循环
    print(cells)  # [(1, 1), (1, 2), (2, 1), (2, 2)]
    
    cells = []
    for row in range(1, 3):
        for col in range(1, 3):
            cells.append((row, col))
    print(cells)


    """
    字典推导式格式: 哈希表(用数组实现的)
    {key_expression: value_expression for 表达式 in 可迭代对象}
    还可以添加if判断语句
    """

    text = "I love you, Can you marry me ?"
    dic = {c:text.count(c) for c in text}
    print(dic) # {'I': 1, ' ': 7, 'l': 1, 'o': 3, 'v': 1, 'e': 2, 'y': 3, 'u': 2, ',': 1, 'C': 1, 'a': 2, 'n': 1, 'm': 2, 'r': 2, '?': 1}

    dic = {}
    for c in text:
    dic[c] = text.count(c)
    print(dic)


    """
    集合推导式
    {key_expression for 表达式 in 可迭代对象} 集合的本质是字典,没有值只有键的字典
    """
    a = [2,3,2,3,5,67,5]
    b = {x for x in a}
    print(b) # {67, 2, 3, 5}

    """
    生成器推导式 (生成元组) 只能使用一次
    (表达式 for 对象 in 可迭代对象)
    """
    a = (x**2 for x in range(10) if x % 2 == 0)
    print(list(a)) # [0, 4, 16, 36, 64]


    a = (x**2 for x in range(10) if x % 2 == 0)
    for i in a:
    print(i, end=" ")
  • 相关阅读:
    es数据采集脚本样例
    实时文本采集器
    闭包理解
    django orm 联表查询优化
    关于vue中使用ajax页面不更新问题
    悲观锁和乐观锁的区别
    golang基础-tailf日志组件使用
    通过request获取不同方式请求的传参
    排序算法比对,插入算法和冒泡算法
    安利一波超级好课 —— 在家也不能闲着呀!!!
  • 原文地址:https://www.cnblogs.com/nxrs/p/10993414.html
Copyright © 2011-2022 走看看