2020-09-19
                                阅读量:
                                1061
                            
                        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)
                    
发表评论
暂无数据
                        
                        推荐帖子
                    
                0条评论
                        0条评论
                        0条评论
                        
            
                
                
