三目运算符是精简代码的优化手段,在一定场景可以适用
比如下面给大家举个例子

  • 例1:
score = 89
print("A" if score > 80 else "C")
  • for循环遍历字符串
str_code = "hello world"
for s in str_code:print(s)
h
e
l
l
ow
o
r
l
d
  • for循环遍历列表
list_language = ["python","C++", "GO"]
for l in list_language:print(l)
python
C++
GO
  • 打印0-100 之间所有数字的方法
for number in range(0,101):print(number)
  • 遍历列表里的值打印索引及每个元素对应的具体值是多少,你会想起有几种方法呢?

当然听到这个问题,我们脑海中一闪而过的应该是下面这种方法,通过len()获取列表的长度,然后通过指定索引获取到对应元素的值

list_language = ["python","C++", "GO"]for i in range(len(list_language)):print(i, list_language[i])

除了上面的方法,我们还可以通过下面的enumerate()方法来实现

for key, value in enumerate(list_language):print(key,value)
0 python
1 C++
2 GO

这两种方法是等价的,推荐第二种,enumerate() 这种方法的性能更高

  • while循环是不知道要循环多少次的,一定要设计退出循环的条件,否则就会死循环
  • continue 是退出本次循环,break是退出整个循环

推导式

列表推导式

  • 例1:
    创建一个列表,里面存放1-100之间的数,用列表推导式来实现
list01 = [i for i in range(0, 101)]
print(list01)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
  • 例2:在1-100的列表基础上每个元素乘以2
list01 = [i*2 for i in range(0, 101)]
print(list01)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]
  • 例3:列表推导式集成了分支判断
list01 = [i*2 for i in range(0, 101) if i<6]
print(list01)
[0, 2, 4, 6, 8, 10]
  • 例4:列表推导式返回值可以任意
list01 = ["mily" for i in range(0, 101) if i<6]
print(list01)
['mily', 'mily', 'mily', 'mily', 'mily', 'mily']

字典推导式

  • 例1:将字典里的key和value值对调位置
dict1 = {"a":1, "b":2,"c":3}
dict2 = {value:key for key,value in dict1.items()}
print(dict2)
{1: 'a', 2: 'b', 3: 'c'}
  • 例2:将对调后的key值乘以2
dict1 = {"a":1, "b":2,"c":3}
dict2 = {value*2:key for key,value in dict1.items()}
print(dict2)
{2: 'a', 4: 'b', 6: 'c'}

集合推导式

  • 例1:将列表里的值去重
list1 = [1,2,3,4,1,2,5]
set1 = {i for i in list1}
print(set1)
{1, 2, 3, 4, 5}
  • 例2:将列表里的值去重,结果乘以2
list1 = [1,2,3,4,1,2,5]
set1 = {i*2 for i in list1}
print(set1)
{2, 4, 6, 8, 10}

一分耕耘一分收获,不忘初心,加油,mily~

python中三目运算符、推导式 ## 17相关推荐

  1. Python中的推导式

    推导式 Compression 推导式 ( Compression )是Python语言的一大特色 相比于其他语言而言, 推导式使得Python能够编辑的进行循环,创建出特定的字典,列表等可迭代对象 ...

  2. Python中列表推导式同filter和map的比较

    symbols = "symbols" beyond_ascii = [ord(s) for s in symbols if ord(s) > 100]beyond_asci ...

  3. Python中使用推导式创建序列

    推导式创建序列 推导式是从一个或者多个迭代器快速创建序列的一种方法.它可以将循环和条件判断结合,从而避免冗长的代码.推导式是典型的Python 风格. 列表推导式 列表推导式生成列表对象,语法如下: ...

  4. python中字典推导式

    目录 一.字典推导式: 二.语法: 1.语法一: 2.语法二: 三.字典推导式实战: 1.在字典中提取或者修改数据,返回新的字典: 2.在字符串中提取数据,返回新的字典: 3.将字符串 "k ...

  5. python用列表推导式_python如何使用列表推导式

    python使用列表推导式的方法:1.用于使用其他列表创建一个新列表:2.可以对原列表进行变换和筛选:3.对多重嵌套的list进行变换筛选. python使用列表推导式的方法: python中列表推导 ...

  6. python的各种推导式(列表推导式、字典推导式、集合推导式)

    python的各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体 ...

  7. python元祖推导式_python推导式深入讲解

    python推导式是非常简洁高效的数据整合手段,功能强大且运行效率极高.本文将带你深入了解并掌握推导式,并将告诉你什么时候该用推导式什么时候不该用推导式. 一.推导式语法 变量名 = [ 表达式 fo ...

  8. python的各种推导式

    python的各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体 ...

  9. python使用列表推导式(list comprehension)和itertools生成浮点数列表

    python使用列表推导式(list comprehension)和itertools生成浮点数列表 目录 python使用列表推导式(list comprehension)和itertools生成浮 ...

  10. 链表list(链式存储结构实现)_VOL.2 如何在python中实现链式存储结构

    一.前言 链式存储作为一种重要的数据存储方式有着极强的数据组织能力.灵活型和动态性,在众多数据结构中应用非常广泛.所谓链式存储结构,就是采用分散的存储空间分别存储每一组数据再通过地址链接的形式将全部数 ...

最新文章

  1. 软件测试2019:第七次作业—— 用户体验测试
  2. 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
  3. 如何快速转化PSD为UI界面?
  4. MySQL 命令大全 - 命令详解
  5. 大学计算机用的笔记本,推荐一款大学生用笔记本电脑
  6. java ee jsp_EE JSP:Servlet的反向外套
  7. Windows上快速在指定目录打开cmd.exe命令行的方法
  8. android6.0 sd卡卸载api,android6.0 用户关掉sd卡读取权限的情况下, 还能做到手机缓存么?...
  9. Centos7安装、卸载、使用Docker
  10. python基础之包、模块、命名空间和作用域
  11. html grid插件,grid.html
  12. 计算机磁盘管理只有C盘怎么办,新电脑只有C盘怎么办?手把手教你给硬盘分区!...
  13. C语言自学之路十四(详解C语言初阶结构体)
  14. Redis的复制(Master/Slaver)
  15. 云袭2001's博客地址迁移啦——attacker.cc
  16. 为什么世界上只有13个根域名服务器
  17. php linux unoconv,Linux-CentOS 安装 Unoconv
  18. 服务器不稳定怎么解决?常见的4种问题和6种处理方法
  19. SAP ABAP——SAP简介(四)【SAP GUI】
  20. 【MATLAB】基本绘图 ( plot 函数绘制多个图形 | legend 函数标注图形 | 图形修饰 )

热门文章

  1. SpringBoot自动装配原理浅析
  2. python模型转PMML
  3. 仕德伟 php 漏洞,网络爱心接力救助绝症女孩——仕德伟网络市场总监朱恋尽“微博”之力...
  4. 思科6509 引擎720-3BXL 更换风扇造成设备重启
  5. HTML5期末大作业:海绵宝宝相关人物介绍
  6. RocketMQ4.X消息队列详细笔记
  7. window11安装JDK1.8【jdk-8u121】
  8. 【Leetcode】526. Beautiful Arrangement
  9. VMWare16Pro 调整中文
  10. vue3不在手动引入import {ref} from ‘vue‘ 等 也能照样运行项目