zoukankan      html  css  js  c++  java
  • 04.4 array、列表生成式、生成器表达式、字典/集合推导式

    代码

    # array 数组
    
    import array
    
    # array 和list 的区别
    """
    1. array 只能存放指定的数据类型
    2. array 的效率比list高
    """
    # "i" 指定int类型
    my_array = array.array("i")
    my_array.append(1)
    # my_array.append("abc")     # TypeError: an integer is required (got type str)
    print(my_array)
    
    # 列表生成式(列表推导式),一行代码生成一个列表
    
    # 1. 提取出1-20之间的奇数
    odd_list = [i for i in range(21) if i % 2 == 1]
    print(odd_list)
    
    # 2. 逻辑复杂的情况
    def hadle_item(item):
        return item * item
    
    # 列表生成式 性能高于列表操作
    odd_list = [hadle_item(i) for i in range(21) if i % 2 == 1]
    print(odd_list, type(odd_list)) # [1, 9, 25, 49, 81, 121, 169, 225, 289, 361] <class 'list'>
    
    # 生成器表达式
    odd_gen = (i for i in range(21) if i % 2 == 1)
    print(odd_gen, type(odd_gen))   # <generator object <genexpr> at 0x000001519759DBA0> <class 'generator'>
    
    # 字典推导式
    my_dict = {"name": "xf", "age": 18, "sex": "男"}
    # 反转key 和value的关系
    reversed_dict = {value:key for key, value in my_dict.items()}
    print(reversed_dict)    # {'xf': 'name', 18: 'age', '男': 'sex'}
    
    # 集合推导式
    my_set = {key for key, value in my_dict.items()}
    print(my_set, type(my_set))     # {'age', 'sex', 'name'} <class 'set'>
    
  • 相关阅读:
    零散杂记
    Result || IResult
    策略模式
    unity中的WWW通讯问题
    在webView 中使用JS 调用 Android / IOS的函数 Function
    不同云区域Proxy安装错误记录
    标准运维加载插件
    蓝鲸考试模拟
    PAAS组件迁移
    脚本安装halo
  • 原文地址:https://www.cnblogs.com/zy7y/p/14195158.html
Copyright © 2011-2022 走看看