一、三元表达式

  1. name=input('姓名>>: ')
  2. res='SB' if name == 'alex' else 'NB'
  3. print(res)

二、列表解析 

  1. l = []
  2. for i in range(10):
  3. if i >= 5:
  4. l.append('egg%s' % i)
  5.  
  6. print(l)
  7.  
  8. ####列表解析
  9. l = ['egg%s' % i for i in range(10) if i >= 5]
  10. print(l)

三、生成器表达式

  1. g = ('egg%s' % i for i in range(1000)) ###用在数据量比较大的场景下
  2. print(g)
  3. print(next(g))
  4. print(next(g))
  5. print(next(g))
  6.  
  7. ##############################################
  8.  
  9. ###把a文件里的内容最长的一行打印出来
  10. with open('a.txt', encoding='utf-8') as f:
  11. # res=max((len(line) for line in f)) ###[len(line) for line in f]
  12. res = max(len(line) for line in f)####(len(line) for line in f) ,统计每一行的长度
  13. print(res)
  14.  
  15. print(max([1, 2, 3, 4, 5, 6]))###求列表中最大值
  16.  
  17. #####此方法适用大文件
  18. with open('a.txt', encoding='utf-8') as f:
  19. g = (len(line) for line in f)
  20. print(max(g))

四、应用

  1. res = sum(i for i in range(3)) #sum求和
  2. print(res)
  1. '''
    1、求总共花了多少钱
    db.txt文件内容:
  2.  
  3. apple 10 3
    tesla 100000 1
    mac 3000 2
    lenovo 30000 3
    chicken 10 3
  4.  
  5. '''
  1. ####笨拙的方法
  2. with open('db.txt', encoding='utf-8') as f:
  3. l = []
  4. for line in f:
  5. goods = line.split()##取出每一行按空格做切分
  6. price = float(goods[1])###取出商品的价钱
  7. count = int(goods[2])####取出商品的个数
  8. cost = price * count####价钱乘以个数
  9. l.append(cost)#加入到列表中
  10.  
  11. print(sum(l)) # 196060.0
  12.  
  13. ####利用生成器表达式
  14. with open('db.txt', encoding='utf-8') as f:
  15. l = (float(line.split()[1]) * int(line.split()[2]) for line in f)
  16. print(sum(l))
  17.  
  18. ###把db文件里的商品取出来放到一个列表里去,最终实现[{'name': 'apple', 'price': 333, 'count': 3}, ]
  19. with open('db.txt', encoding='utf-8') as f:
  20. info = [{'name': line.split()[0],
  21. 'price': float(line.split()[1]),
  22. 'count': int(line.split()[2])} for line in f if float(line.split()[1]) >= 30000]
  23. print(info)

day4_python之三元表达式、列表推导式、生成器表达式的更多相关文章

  1. Python入门之三元表达式\列表推导式\生成器表达式\递归匿名函数\内置函数

    本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================ ...

  2. python基础-三元表达式/列表推导式/生成器表达式

    1.三元表达式:如果成立返回if前的内容,如果不成立返回else的内容 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' ...

  3. python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)

    一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期 ...

  4. 2018.11.06 生成器函数进阶&列表推导式&生成器表达式

    1.生成器函数进阶 2.列表推导式 3.生成器表达式

  5. python之生成器(~函数,列表推导式,生成器表达式)

    一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中 ...

  6. Python-02 生成器表达式,列表推导式

    列表推导式和生成器表达式 列表推导式,生成器表达式1,列表推导式比较直观,占内存2,生成器表达式不容易看出内容,省内存. [ 变量(加工后的数据) for  变量i  in 可迭代的数据类型 ] 列表 ...

  7. python 生成器函数.推导式.生成器表达式

    一.生成器 什么是生成器,生成器的实质就是迭代器 在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也可以获取生成器 1 def func ...

  8. day19-1 迭代器,三元表达式,列表推导式,字典生成式,

    目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'. ...

  9. python 三元表达式 列表推导式,生成器表达式。递归,匿名函数, 内置函数

    三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名&g ...

  10. Python学习笔记2:构造序列:列表推导和生成器表达式

    欢迎访问个人网站:www.comingnext.cn 1. 关于Python内置序列类型 a. 按能否存放不同类型的数据区分 容器序列: list.tuple 和collections.deque这些 ...

随机推荐

  1. GULP入门(一)

    1.首先要先装node.然后在命令行里安装全局的gulp: npm install --global gulp 这是gulp在的生成的位置 2.接下来,我们需要将gulp安装到项目本地 npm ins ...

  2. finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等

    finger 工具侧重于用户信息的查询:查询的内容包括用户名(也被称为登录名Login),家目录,用户真实的名字(Name)... ... 办公地址.办公电话:也包括登录终端.写状态.空闭时间等: 我 ...

  3. 【Java爬虫】爬取南通大学教务处成绩

    没使用自动登录,所以获取是比较麻烦.. 1.http://jwgl.ntu.edu.cn/cjcx    进入官网,进行账号密码登录 2.点击全部成绩查询(也一定要点进去,不然cookie不会返回值) ...

  4. goland设置go build的工作目录

  5. Javascript-简单的倒计时跳转页面

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  6. loj2322 「清华集训 2017」Hello world!

    https://loj.ac/problem/2322 先吐槽一下,sb数据毁我青春败我前程. 首先,一个数开根开不了多少次. 当我们把它开到1的时候,我们以后就不需要开他了,我们可以利用并查集跳过他 ...

  7. js 实现继承

    我们现在要做的一件事情是像其他语言的面向对象一下实现继承多态 具体要求如下: 一个 Father 构造函数,一个 Child 构造函数,其中改写 Father中的部分参数, new Child() 表 ...

  8. 没有ORM库的时候,通过PDO连接MySQL的方法

    $pdo = new PDO("mysql:host=localhost;dbname=eq","root","root"); $pdo-& ...

  9. opencv4 java 验证码噪点 8邻域降噪

    工程下载地址https://download.csdn.net/download/qq_16596909/11503962 程序运行后,同样会把图片存放在以下路径 首先来看一下原图 二值化后,可以把这 ...

  10. 数据库完整性 ch.5

    数据库的完整性 是指 数据的正确性(correctness) 和 相容性 (compat-ability) 5.1 实体完整性 定义 对单属性码的说明有两种方法,一种是定义为表约束条件,一种是定义为列 ...