python -三元表达式、列表生成式、字典生成式
1、三元表达式
- 定义格式:
true_return if condition else false_return
- if 后条件成立返回,true_return,不成立返回false_return
- 当功能需求仅仅是二选一的情况下,推荐使用三元表达式
实例如下:
res = '坚持学习python' if 3>1 else '不学了!'
print(res)
# 结果
# 坚持学习python
'''
三元表达式:
将符合条件的值返回,用一个变量接收
条件成立返回true_return
条件不成立返回false_return
'''
2、列表生成式
定义:
- 列表生成式提供了一种简明扼要的方法来创建列表。它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句。表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。返回结果将是一个新的列表。
格式:
- [表达式 for 变量 in 列表 if 条件]
实例1如下:
l = [1,2,3,4,5]
# for循环实现
l1 = []
for i in l:
l1.append(i)
print(l1) # 列表生成成式实现
res = [x for x in l]
print(res) #结果
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
- 列表运行图示:
实例2如下:
# 输出100以内的偶数
# for循环解决
get_num = []
for i in range(0,100,2):
get_num.append(i)
print(get_num)
# 列表生成式
get_num_lst = [x for x in range(100) if x%2 ==0]
print(get_num_lst)
3、字典生成式
- 定义:同列表生成式一样,字典生成式是用来快速生成字典的。
- 格式:{字典内容+循环条件+ i f 判断条件(产生条件)}
实例如下:
# for循环做法
lst_info_g = ['name','age','number']
lst_info_v = ['HammerZe',18,'199****1234']
lst_info_dict = {}
for i in range(len(lst_info_g)):
# 让lst_info_g里的元素和lst_info_v里的元素一一对应
lst_info_dict[lst_info_g[i]] = lst_info_v[i]
print(lst_info_dict)
# 结果
{'name': 'HammerZe', 'age': 18, 'number': '199****1234'}
#字典生成式
lst_info = [('name','HammerZe'),('age',18),('number','199****1234')]
dict_info = {k:v for k,v in lst_info}
print(dict_info)
# 结果
{'name': 'HammerZe', 'age': 18, 'number': '199****1234'}
有 i f的字典生成式:
实例如下:
lst_info = ['HammerZe','jason','tony','tom']
# 用枚举的方法,获取字典的k,当获取元素为HammerZe时,不打印输出剩下的元素
dict_info = {k:v for k,v in enumerate(lst_info) if v!='HammerZe' }
print(dict_info)
# 结果
{1: 'jason', 2: 'tony', 3: 'tom'}
''' enumerate()枚举方法
该方法针对for循环使用,每次会产生两个结果,默认从0开始,可以通过start修改起始位置,从几开始!
'''
持续更新中···
python -三元表达式、列表生成式、字典生成式的更多相关文章
- python 三元表达式 列表推导式,生成器表达式。递归,匿名函数, 内置函数
三元表达式 三元表达式仅应用于: 1.条件成立返回一个值 2.条件不成立返回一个值 res = x if x>y else y print(res) name= input("姓名&g ...
- Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数
上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...
- Python 列表生成式 & 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- python字符串、列表和字典的说明
python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...
- python 三元表达式
python 三元表达式(ternary expression) 把 if-else块 写到一行或者一个表达式中 并且产生一个值 value = true if condition else fal ...
- python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04
递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, ...
- Python三元表达式,列表推导式,字典生成式
目录 1. 三元表达式 2. 列表推导式 3. 字典生成式 3.1 字典生成式 3.2 zip()方法 1. 三元表达式 """ 条件成立时的返回值 if 条件 else ...
- Python三元表达式和列表生成式
三元表达式 取代 if …… else……的简单表达方式 # 常规写法 x = 1 y = 2 if x>y: print(x) else: print(y) #三元表达式写法 res ...
- day19-1 迭代器,三元表达式,列表推导式,字典生成式,
目录 迭代器 可迭代对象 迭代器对象 总结 三元表达式(三目表达式) 列表推导式 字典生成式 迭代器 可迭代对象 拥有iter方法的对象就是可迭代对象 # 以下都是可迭代的对象 st = '123'. ...
随机推荐
- 从零入门 Serverless | 架构的演进
作者 | 许晓斌 阿里云高级技术专家 本文整理自<Serverless 技术公开课>,关注"Serverless"公众号,回复 入门 ,即可获取 Serverless ...
- Initialize this repository with a README
在gitHub创建项目时,有很多小伙伴不太清楚 Initialize this repository with a README 在什么情况下需要勾选,在这里简单说明 如下: 1. 翻译 如果要导入现 ...
- Geocoding Tools(地理编码工具)
地理编码工具 # Process: 创建地址定位器 arcpy.CreateAddressLocator_geocoding("", "", "&qu ...
- 电脑日常使用bug记录
1.由于电脑太卡了,于是决定关一点服务,一不小心,电脑无线无法使用了.启动无线服务时提示"windows无法启动wlan autoconfig服务错误1068依赖服务" 启动 Ex ...
- Egg.js学习与实战系列 · 文件上传配置
在使用Egg.js搭建文件上传服务时,遇到了几个一般新手都会遇到的坑. 经查阅官方文档,Egg框架中默认使用egg-multipart插件进行文件上传,所以上传文件前需要做相关的配置. 上传文件提示: ...
- Linux中检查字符串是否为合法IP地址的shell脚本
#!/bin/bash #判断IP地址是否为有效IP CHKECK_IP () { CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'` i ...
- 阿里Nacos部署
Nacos的部署 一.单机部署 **4.修改 Nacos 存储为 Mysql** 二.集群部署 1.机器部署列表 2.修改 `nacos/conf/application.properties`中的端 ...
- STM32必学的时钟系统
STM32的时钟系统 相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图: 上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟.需要注意的是,上图左侧一 ...
- Python报错ModuleNotFoundError: No module named 'numpy'
转载:https://blog.csdn.net/qq_39779233/article/details/103224712 Python报错ModuleNotFoundError: No modul ...
- 像素反转 牛客网 程序员面试金典 C++ Python
像素反转 牛客网 程序员面试金典 题目描述 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定 ...