bigdata~

2020-09-19   阅读量: 689

Python

Python三大推导式

扫码加入数据分析学习群

python之三大推导式(无元组推导式)

一、列表推导式:
基本语法:[ 表达式 for 变量 in 列表 if 条件 ]
例子:
1.推导0-9偶数的平方组成的列表

li = [i**2 for i in range(10) if i % 2 == 0]
print(li)12

结果:[0, 4, 16, 36, 64]
2.列表推导式的执行顺序:各语句之间是嵌套关系,左边第一个语句是最外层,依次往右进一层,右边第一条语句是最后一层。

li = [x*y for x in range(1,5) if x > 2 for y in range(1,4) if y < 3]
print(li)12

结果:[3, 6, 4, 8]
上述语句等价于:

li = []
for x in range (1,5):
    if x > 2:
        for y in range(1,4):
            if y < 3:
                li.append(x*y)
 print(li)1234567

结果:[3, 6, 4, 8]
二、字典推导式
基本语法:{key:value for key,value in 可迭代的对象 if 条件}
例子:
1.快速更换字典的键和值:

dic1 = {'1':'one','2':'two','3':'three'}
dic2 = {v:k for k,v in dic1.items()}
print(dic2)123

结果:{‘one’: ‘1’, ‘two’: ‘2’, ‘three’: ‘3’}
2.用一个字符串里面的元素作为值,索引作为键创建个字典

str1 = 'zhaojian'
dic1 = {i:v for i,v in enumerate(str1)}
print(dic1)123

结果:{0: ‘z’, 1: ‘h’, 2: ‘a’, 3: ‘o’, 4: ‘j’, 5: ‘i’, 6: ‘a’, 7: ‘n’}
三、集合推导式
基本语法:{ 表达式 for 变量 in 列表 if 条件 }
例子:
推导0-9偶数的平方组成的集合

tu = {i **2 for i in range(10) if i % 2 == 0}
print(tu)12

结果:{0, 64, 4, 36, 16} (集合是无序的)


72.2238 1 0 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子