• 59.列表推导式


    列表推导式

    所谓的列表推导式,就是指的轻量级循环创建列表

    1. 基本的方式

    2. 在循环的过程中使用if

    3. 2个for循环

    4. 3个for循环

    练习

    请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]

    参考答案:

    a = [x for x in range(1,101)]
    b = [a[x:x+3] for x in range(0,len(a),3)]

    例子1:

    # 01: 定义一个列表 保存 1~100 之间所有的数据
    # my_list = []
    # for i in range(1, 101):
    #     my_list.append(i)
    # print(my_list)
    # 优化
    my_list = [i for i in range(1, 101)]
    print(my_list)

    例子2:

    # 02: 定义一个列表 保存十个数据 每个都是"哈哈"
    # my_list = []
    # for _ in range(10):
    #     my_list.append("哈哈")
    # print(my_list)
    # 列表
    my_list = ["哈哈" for _ in range(10)]
    print(my_list)

    例子3:

    # 03: 定义一个列表 保存1~100之间的偶数
    # my_list = []
    # for i in range(1, 101):
    #     if i % 2 == 0:
    #         my_list.append(i)
    #
    # print(my_list)
    # 优化
    my_list = [i for i in range(1, 101) if i % 2 == 0]
    print(my_list)

    例子4:

    # 04: 定义一个列表 [(0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3)]
    # my_list = []
    # for i in range(2):
    #     for j in range(1, 4):
    #         # 构造一个元组
    #         my_tuple = (i, j)
    #         # 追加数据
    #         my_list.append(my_tuple)
    #
    # print(my_list)
    # 优化
    my_list = [(i, j) for i in range(2) for j in range(1, 4)]
    print(my_list)

     练习:

    # 请写出一段 Python 代码实现分组一个 list 里面的元素,比如 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
    #
    # 参考答案:
    
    a = [x for x in range(1,101)]
    # print(a)
    
    
    b = [a[x:x+3] for x in range(0,len(a),3)]
    print(b)
    
    # my_list = []
    # l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    #
    # l1 = l[0:3] # l[x:x+3] -> x = 0 3 6 9
    # l2 = l[3:6]
    # l3 = l[6:9]
    # l4 = l[9:12]
    #
    # print(l1)
    # print(l2)
    # print(l3)
    # print(l4)
    
    # a = "abcdefg"
    # c1 = a[0:3]
    # c2 = a[3:6]
    # c3 = a[6:9]
    # print(c1)
    # print(c2)
    # print(c3)
    
    for i in range(0, 10, 3):
        print(i)
  • 相关阅读:
    Mongodb相关操作
    ESP8266 + MQTT (platformio 开发环境)
    ESP8266 + L298N
    ESP8266 + mg90s(舵机)
    ESP8266 + SN74HC595N(8位移位寄存器)
    Bootstrap Blazor Table 组件(四)自定义列生成
    .Net Core 依赖注入(IOC) 一些简单的使用技巧
    RabbitMQ 消费者
    Bootstrap Blazor AutoComplete 自动完成 组件
    RabbitMQ 生产者
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12847025.html
Copyright © 2020-2023  润新知