zoukankan      html  css  js  c++  java
  • Python解析式

    解析式 Comprehension

    解析式是将一个容器类型的可迭代对象转换成另一个对应类型容器的工具。在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。

    语法

    [返回值 for element in iterable [ if condition ]]

    使用范例

    不带条件的

    lst=[i for i in range(10)]
    print(lst)

    运行结果

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    带条件的

    lst = [i for i in range(10) if i % 2]
    print(lst)

    运行结果

    [1, 3, 5, 7, 9]

    多条件列表解析

    lst = [i for i in range(10) if i % 2 if i % 3]
    print(lst)

    运行结果

    [1, 5, 7]

    多层循环解析式

    lst = [(i, j) for j in 'abc' for i in range(3)]
    print(lst)

    运行结果

    [(0, 'a'), (1, 'a'), (2, 'a'), (0, 'b'), (1, 'b'), (2, 'b'), (0, 'c'), (1, 'c'), (2, 'c')]

    集合解析式

    语法:

    {返回值 for 元素 in 可迭代对象 if 条件}

    举例

    s1={i for i in range(2)}
    print(s1)

    运行结果

    {0, 1}

    字典解析式

    语法

    {返回值 for 元素 in 可迭代对象 if 条件}   返回值的格式为key:value

    举例

    dict1={i:pow(i,3) for i in range(3)}
    print(dict1)

    运行结果

    {0: 0, 1: 1, 2: 8}

    解析式练习

    1、打印乘法表

    lst = [print("{} * {} = {:<2}".format(i, j, i * j), end='
    ' if i==j else ' ') for i in range(1, 10) for j in range(1, i + 1)]
    print()

    运行结果

    1 * 1 = 1 
    2 * 1 = 2  2 * 2 = 4 
    3 * 1 = 3  3 * 2 = 6  3 * 3 = 9 
    4 * 1 = 4  4 * 2 = 8  4 * 3 = 12 4 * 4 = 16
    5 * 1 = 5  5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
    6 * 1 = 6  6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
    7 * 1 = 7  7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
    8 * 1 = 8  8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
    9 * 1 = 9  9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
  • 相关阅读:
    php 通过header下载中文文件名 压缩包损坏或文件不存在的问题
    MySQL查看数据库安装路径
    PHP 中move_uploaded_file 上传中文文件名失败
    C# Windows异步I/O操作
    .Net 环境下比较各种数据库插入操作的性能
    GenericFactoryMethod泛型工厂模式实现简单IOC功能
    State状态模式
    .Net RabbitMQ之消息通信 构建RPC服务器
    .Net RabbitMQ系列之环境搭建于RabbitMQ基本介绍
    C# 算法之选择排序
  • 原文地址:https://www.cnblogs.com/zh-dream/p/13732996.html
Copyright © 2011-2022 走看看