-
列表推导式
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]
收藏数
6,311
精华内容
2,524