精华内容
下载资源
问答
  • 列表推导式

    2021-02-23 10:55:29
    学习列表推导式的目的:快速生成一个列表 列表推导式就是使用一行代码结合for循环快速生成一个列表 列表推导式的语法格式: [添加临时变量保存的数据到列表 for 临时变量 in 容器类型数据] # 需求: 利用列表推导...

    学习列表推导式的目的:快速生成一个列表
    列表推导式就是使用一行代码结合for循环快速生成一个列表

    列表推导式的语法格式:
    [添加临时变量保存的数据到列表 for 临时变量 in 容器类型数据]

    # 需求: 利用列表推导式 生成一个1-5数据列表
    new_list = [x for x in range(1, 6)]
    print(new_list, type(new_list))
    #[1, 2, 3, 4, 5] <class 'list'>
    # 需求: 利用列表推导式 生成一个1-5数据, 只把奇数放到列表里面
    # 当条件满足,该满足条件的这个数据放到新的列表里面
    new_list = [y for y in range(1, 6) if y % 2 == 1]
    print(new_list, type(new_list))
    #[1, 3, 5] <class 'list'>
    # 需求: 利用列表推导式,生成多个元组数据
    result = [(x, y) for x in range(1, 4) for y in range(2)]
    print(result, type(result))
    #[(1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)] <class 'list'>
    # 练习题1:  my_str = "abc"  => ["aa", "bb", "cc"] 利用列表推导式实现
    my_str = "abc"
    result = [value * 2 for value in my_str]
    print(result)
    #['aa', 'bb', 'cc']
    # 练习题2:  name_tuple = ("张三", "李四", "张飞")  => ["张三", "张飞"] 利用列表推导式实现
    name_tuple = ("张三", "李四", "张飞")
    result = [name for name in name_tuple if name.startswith("张")]
    print(result)
    #['张三', '张飞']
    # 练习题3:  my_list = [{"name": "吕布", "age": 18}, {"name": "关羽", "age": 20}]
    # => [{"name": "关羽", "age": 20}] 利用列表推导式实现
    
    my_list = [{"name": "吕布", "age": 18}, {"name": "关羽", "age": 20}]
    
    result = [person_dict for person_dict in my_list if person_dict["age"] > 18]
    print(result)
    #[{'name': '关羽', 'age': 20}]
    # 练习:使用列表推导式 把my_tuple = ("张飞", "刘备", "张郃")中姓张的过滤出来
    # 比如:  ["张飞", "张郃"]
    my_tuple = ("张飞", "刘备", "张郃")
    result=[value for value in my_tuple if value.startswith("张")]
    print(result)
    #['张飞', '张郃']
    # 练习: 利用列表推导式,生成5个1-10的随机数字,比如: [1, 3, 2, 4, 10]
    import random
    
    result=[random.randint(1,11) for value in range(1,6)]
    print(result)
    #[10, 7, 7, 9, 11]

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,311
精华内容 2,524
关键字:

列表推导式