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 -三元表达式、列表生成式、字典生成式的更多相关文章

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

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

  2. Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数

    上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...

  3. Python 列表生成式 & 字典生成式

    Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...

  4. python字符串、列表和字典的说明

    python字符串.列表和字典的说明 字符串.列表.字典 字符串的作用存储一段数据信息.例如 info = '我爱北京天安门' ,在调取的时候可以直接调取,灵活方便,print(info) 就可以把刚 ...

  5. python 三元表达式

    python 三元表达式(ternary expression)  把 if-else块 写到一行或者一个表达式中 并且产生一个值 value = true if condition else fal ...

  6. python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04

    递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点)   -->  l = [1, [2, [3, [4, [5, ...

  7. Python三元表达式,列表推导式,字典生成式

    目录 1. 三元表达式 2. 列表推导式 3. 字典生成式 3.1 字典生成式 3.2 zip()方法 1. 三元表达式 """ 条件成立时的返回值 if 条件 else ...

  8. Python三元表达式和列表生成式

    三元表达式 取代 if …… else……的简单表达方式 # 常规写法 x = 1 y = 2 ​ if x>y: print(x) else: print(y) ​ #三元表达式写法 res ...

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

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

随机推荐

  1. 02Prism WPF 入门实战 - 建项

    1.概要 Prism介绍 Github: https://github.com/PrismLibrary/Prism 开发文档:https://prismlibrary.com/docs/ Prism ...

  2. 【UE4】GAMES101 图形学作业3:Blinn-Phong 模型与着色

    总览 在这次编程任务中,我们会进一步模拟现代图形技术.我们在代码中添加了Object Loader(用于加载三维模型), Vertex Shader 与Fragment Shader,并且支持了纹理映 ...

  3. 【UE4 C++ 基础知识】<14> 多线程——AsyncTask

    概念 AsyncTask AsyncTask 系统是一套基于线程池的异步任务处理系统.每创建一个AsyncTas,都会被加入到线程池中进行执行 AsyncTask 泛指 FAsyncTask 和 FA ...

  4. vue3.x新特性之setup函数,看完就会用了

    最近有小伙伴跟我聊起setup函数,因为习惯了vue2.x的写法导致了,setup用起来觉得奇奇怪怪的,在一些api混编的情况下,代码变得更加混乱了,个人觉得在工程化思想比较强的团队中使用setup确 ...

  5. Alpha阶段初始任务分配

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-计划-Alpha阶段说明书 一.Alpha阶段总体规划 进行服务器相关部署 进行开发相关技术学习 ...

  6. Prometheus重新标记

    Prometheus重新标记 一.背景 二.简化的指标抓取的生命周期 1.配置参数详解 1.`action:`存在的值 1.替换标签值 2.删除指标 3.创建或删除标签 2.删除标签注意事项 3.几个 ...

  7. Spring:所有依赖项注入的类型

    一.前言 Spring文档严格只定义了两种类型的注入:构造函数注入和setter注入.但是,还有更多的方式来注入依赖项,例如字段注入,查找方法注入.下面主要是讲使用Spring框架时可能发生的类型. ...

  8. 15个问题自查你真的了解java编译优化吗?

    摘要:为什么C++的编译速度会比java慢很多?二者运行程序的速度差异在哪? 了解了java的早期和晚期过程,就能理解这个问题了. 本文分享自华为云社区<你真的了解java编译优化吗?15个问题 ...

  9. 从零开始 DIY 智能家居 - 基于 ESP32 的智能语音合成播报模块

    目录 前言 硬件选择 代码解析 获取代码 设备控制命令: 设备和协议初始化流程: 配置设备信息 回调函数注册 语音播报与设置流程 总结 前言 这里这么多设备,突然发现我做的好像都是传感器之类的居多好像 ...

  10. 数组中重复的数字 牛客网 剑指Offer

    数组中重复的数字 牛客网 剑指Offer 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中 ...