python学习-day10 推导式

    技术2023-05-16  91

    视频链接:https://www.bilibili.com/video/BV1SE411N7Hi?p=64

    定义:https://guobaoyuan.gitee.io/new_book/Python/12-2%20%E6%8E%A8%E5%AF%BC%E5%BC%8F.html

    以下内容仅供个人学习使用,侵删

    #!/usr/bin/env python # -*- coding:utf-8 -*- ''' 推导式:编写一些有规律性的 列表推导式、字典推导式、集合推导式 生成器表达式 ''' lst=[] for i in range(1,11): lst.append(i) print (lst) #推导式,代码从右向左走 #1.普通循环模式 print([i for i in range(1,11)]) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] #2.筛选模式 #结构一:[结果 for循环 条件] print([i for i in range(1,11) if i >5]) #[6, 7, 8, 9, 10] #执行顺序 #i for i in range(1,11) if i >5 #分2部分,从右往左走,for i in range(1,11) if i >5和i #for i in range(1,11) if i >5 部分,从左往右走 #结构二:[三元运算 for循环 条件] print([i if i >3 else "哈哈"for i in range(1,11) ]) #['哈哈', '哈哈', '哈哈', 4, 5, 6, 7, 8, 9, 10] print([i if i >3 else "哈哈"for i in range(1,11) if i>1 if i>5 ]) #[6, 7, 8, 9, 10] lst=[] for i in range(3): for em in range(2): lst.append(em) print(lst)#[0, 1, 0, 1, 0, 1] #等同于 print([em for i in range (3) for em in range(2)])#[0, 1, 0, 1, 0, 1] #集合推导式 #普通循环模式 print({i for i in range(5)}) #筛选模式 print({i if i <1 else"嘿嘿" for i in range(5) if i >2})#集合天然去重,{'嘿嘿'} #字典推导式 print({i:i for i in range(5)}) #元组没有推导式,只有生成器 g=(i for i in range(5)) print(next(g))#0 print(next(g))#1 print(next(g))#2

     

    Processed: 0.009, SQL: 9