【Python】列表推导

 概念

列表推导是一个十分强大的语法,他允许我们在一行代码之内利用现有的迭代器创建一个新的列表

基本语法

[expression for item in iterable if condition]

expression:用于计算新列表中的每一个元素的表达式

item:一个变量,就和平时我们经常用的for循环里的i差不多啦!(这么一看,原来i其实是item的缩写欸awa)

iterable:可迭代对象

condition:筛选条件

废话少说,直接上实例!

实例

1、简单的列表推导

num = [1, 2, 3]
squares = [x**2 for x in num]   # [1, 4, 9]

2、有条件过滤的列表推导

num = [1, 2, 3, 4, 5]
squares = [x**2 for x in num if x % 2 == 0]   # [4, 16]

3、嵌套列表推导

num = [(1, 2, 3), (4, 5, 6)]
squares = [x ** 2 for i in num for x in i if x % 2 == 0]   # [4, 16, 36]

4、从字符串生成列表的列表推导

string = 'guolicheng'
ll = [x for x in string if x in 'golzceh']   # ['g', 'o', 'l', 'c', 'h', 'e', 'g']

5、从字典中生成取键值对的列表推导

dic = {'姓': '果', '名': '粒橙'}
ll1 = [(key, value) for key ,value in dic.items()]   # [('姓', '果'), ('名', '粒橙')]

6、从列表字典中返回键值对

dic1 = [{'姓': '果', '名': '粒橙'}, {'姓': '太', '名': '空人'}]
dic_list = [(key, value) for i in dic1 for key, value in i.items()]
# [('姓', '果'), ('名', '粒橙'), ('姓', '太'), ('名', '空人')]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值