1、三元运算

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

2、列表推倒式
#1、示例
egg_list=[]
for i in range(10):egg_list.append('鸡蛋%s' %i)egg_list=['鸡蛋%s' %i for i in range(10)]

zip的用法
l = [1,2,3]b = (4,5,6)c = {7,8,9}a = zip(l,b,c)print(list(a))

  

结果:

[(1, 4, 8), (2, 5, 9), (3, 6, 7)]

3、字典推倒式

k = ['egon',18,'male']

v = ['name','age','sex']

d = {v:k for v,k in zip(k,v)}

print(d)

4、生成器生成式

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。

要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:

#1、把列表推导式的[]换成()就是生成器表达式#2、示例:生一筐鸡蛋变成给你一只老母鸡,用的时候就下蛋,这也是生成器的特性
>>> chicken=('鸡蛋%s' %i for i in range(5))
>>> chicken
<generator object <genexpr> at 0x10143f200>
>>> next(chicken)
'鸡蛋0'
>>> list(chicken) #因chicken可迭代,因而可以转成列表
['鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4',]

案例:我要统计文件每行个数最大的

with open('a.txt',encoding='utf-8') as f:nums=(len(line) for line in f)  #max自动有一个生成器next的方法print(max(nums))

#下面会报错
print(max(nums))
print(max(nums))

  

 

转载于:https://www.cnblogs.com/wuheng-123/p/9178826.html

python 三元运算、列表推倒式、字典推倒式、生成器生成式相关推荐

  1. python 常用字符串 列表元祖字典都 自带的函数方法

    上节内容回顾和补充编程语言高级低级Python种类JavaPythoncPython *****pypy字节码 和 机器码Python程序:1. 终端:C:\python35\python.exe D ...

  2. Python三元运算

    三元运算又称三目运算,是对简单的条件语句的简写. 举个例子:简单条件语句 ----> 三元运算 if 条件成立:val = 1 else:val = 2 val = 1 if 条件成立 else ...

  3. python字符串删除,列表删除以及字典删除的总结

    一:字符串删除  1,字符串本身是不可变的,一个字符串定义以后,对他本身是不能做任何操作的,所以的增删改都是对原字符串拷贝的副本的操作,原来的字符串还是原来的字符串,它本身并没 有变 2,字符串本身是 ...

  4. Python 三元运算

    三元运算又称为三目运算,主要是对简单的条件语句的简写 语法: result = 值1 if 条件 else 值2如果条件为真:result = 值1 如果条件为假:result = 值2 常规条件句: ...

  5. Python初始化空列表,空字典,空元组,空集合

    """ 一. Python 推导式的空初始化 1.Python的推导式没做类型的限制,只要是python合法的事物都能放进去 2.list 列表 元素可以重复,且有先后. ...

  6. python入门之 列表 元组 集合 字典 最全教程

    一.列表 列表(list)是Python中的一种数据结构,它可以存储不同类型的数据.不同元素以逗号分隔. //下标索引访问 A = ['xiaoWang', 'xiaoZhang', 'xiaoHua ...

  7. day13 生成器 三元运算 列表解析

    本质上来说生成器迭代器都是一种数据类型,如果你直接打印生成器是无法得出值的,会得到一串内存地址,即一个对象想要得到生成器的值必须要用for或者next,list等来获取 生成器生成器就是一个可迭代对象 ...

  8. 4.04Day14递推、三元表达式、列表/字典推导式、匿名函数

    复习:1.迭代器:不需要索引的取值方式2.生成器:通过特殊的语法自定义的迭代器3.枚举对象:为可迭代对象创建索引(按照迭代的顺序创建索引) 迭代器对象:装有多个值的容器 1. 可用通过.__next_ ...

  9. Python各种推导式(列表推导式,字典推导式,集合推导式,嵌套列表推导式)

    一.列表推导式 Python官网列表推导式部分 列表推导式提供了一种创建list的简便方法.应用程序创建列表时,列表中的元素来源于其他序列.可迭代对象或创建的一个满足一定条件的序列. 基本格式: ​[ ...

最新文章

  1. mysql中engine=innodb和engine=myisam的区别 (转)
  2. r语言glmnet包系数显示不全_第一章: R语言介绍
  3. hadoop整合纪要
  4. 彻底理解Python中的yield
  5. IOS添加pch预编译文件
  6. 如何在gradle上仅运行一个测试类
  7. python_selenium简单的滑动验证码
  8. 微信支付相关开发问题解决方案收集汇总
  9. Atiitt 日志技术的重大问题解决法 目录 1.1. 只想看某些日志,使用tag过滤法 1 1.2. 能方便清晰的列出某一业务(如支付)的完整的处理流程 业务tag 1 1.3. - NDC(N
  10. 挖掘目录穿越漏洞实战经验
  11. AR5B22网卡折腾记录
  12. 激情巴布部落畅快一日游
  13. linux usb摄像头驱动程序,Linux系统下USB摄像头驱动开发
  14. Linux下开源邮件系统Postfix+Extmail+Extman环境部署记录
  15. VM虚拟机安装使用OBS直播录屏软件图文教程及注意事项
  16. 互联网行业职位介绍——PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD, PRD,FSD等
  17. 力扣热门题目简单部分合集(共23道)
  18. 构造器(有参、无参)
  19. 计算机巨人的采访对话英文怎么说,【英文采访稿对话式范文】_英文采访稿对话式范文...
  20. Python的提交表单功能

热门文章

  1. struts1 mysql config_详解Struts1中的struts-config.xml配置文件【一】
  2. AcWing 868. 筛质数(欧拉筛模板)
  3. java编写万年历_怎么用JAVA编写万年历!
  4. java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则
  5. Spark Streaming 反压机制
  6. No space left on device 磁盘空间提示不足解决办法
  7. Windows命令查看文件MD5
  8. 《C语言及程序设计》实践参考——太乐了
  9. Scala确实是门好语言
  10. int main():声明指定了两个以上的数据类型