Python三元表达式和列表生成式
三元表达式
取代 if …… else……的简单表达方式


# 常规写法
x = 1
y = 2
if x>y:
print(x)
else:
print(y)
#三元表达式写法
res = x if x > y else y
注意:只能判断最最基础的if else语句,不适用于elif 语句。
生成式
列表生成式
简化新建列表的方法
# 常规用法
l = []
for i in range(10):
if i > 4:
l.append(i)
print(l) # [5,6,7,8,9]
# 生成式写法
l = [i for i in range(10) if i>4]
print(l) # [5,6,7,8,9]
#列表生成式的强大用法(睁大眼睛看着哦)
msg = ['Jason', 'l_tony', 'l_rose', 'l_allen'] # 提取列表中以'l'开头的元素放入列表,并大写
res = [i.upper() for i in msg if i.startswith('l')] # 一行代码解决
print(res) # ['L_TONY', 'L_ROSE', 'L_ALLEN']
#语法表达式
[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
] # [表达式 循环+条件筛选语句]字典生成式
res = {i: i**2 for i in range(10) if i > 3}
print(res) # 字典生成式
print({i for i in 'hello'}) # 集合生成式
Python三元表达式和列表生成式的更多相关文章
- python -三元表达式、列表生成式、字典生成式
目录 1.三元表达式 2.列表生成式 3.字典生成式 1.三元表达式 定义格式:true_return if condition else false_return if 后条件成立返回,true_r ...
- Python三元表达式,列表推导式,字典生成式
目录 1. 三元表达式 2. 列表推导式 3. 字典生成式 3.1 字典生成式 3.2 zip()方法 1. 三元表达式 """ 条件成立时的返回值 if 条件 else ...
- Python开发基础-Day9-生成器、三元表达式、列表生成式、生成器表达式
生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 pri ...
- python基础之生成器、三元表达式、列表生成式、生成器表达式
生成器 生成器函数:函数体内包含有yield关键字,该函数执行的结果是生成器,生成器在本质上就是迭代器. def foo(): print('first------>') yield 1 pri ...
- python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数
- python 三元表达式、列表推导式、生成器表达式
一 三元表达式.列表推导式.生成器表达式 一 三元表达式 name=input('姓名>>: ') res='mm' if name == 'hahah' else 'NB' print( ...
- python基础语法9 生成器,面向对象编程思想,三元表达式,列表生成式,生成器表达式(生成式),匿名函数,内置函数
生成器 1.什么是生成器? 生成的工具. 生成器是一个 "自定义" 的迭代器, 本质上是一个迭代器. 2.如何实现生成器 但凡在函数内部定义了的yield, 调用函数时,函数体代码 ...
- Python生成器、三元表达式、列表生成式、字典生成式、生成器表达式
什么是生成器:只要函数内部包含有yield关键字,那么函数名()的到的结果(生成器地址)就是生成器,再调用函数不会执行函数内部代码这个生成器本身有 _iter_ he _next_功能(即生成器 ...
- CSIC_716_20191114【生成器、匿名函数、内置函数、三元表达式、列表生成式、生成器表达式】
生成器: 函数与yield连用,凡是函数中有yield的,调用该函数的时候均不会立即执行,而是会返回一个生成器. 生成器本质上是一个迭代器,需要通过 [生成器.__next__()]或者[nex ...
随机推荐
- 转 JS 中的 this
转载至:https://segmentfault.com/a/1190000009215974 this的指向问题应该是让每一个前端er都头疼的问题,我也一样,曾经遇到甚至都是一顿乱猜.最近在研读一些 ...
- ArrayList简单学习
类声明: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomA ...
- python 多继承(新式类) 二
在python中,要调用父类的某个方法,python2.2之前需要如下代码: class A:def __init__(self): print "enter A" pri ...
- solr亿万级索引优化实践-自动生成UUID
solr亿万级索引优化实践(三) 原创 2017年03月14日 17:03:09 本篇文章主要介绍下如何从客户端solrJ以及服务端参数配置的角度来提升索引速度. solrJ6.0提供的 ...
- matlab实现gabor滤波器的几种方式
转自:http://blog.csdn.net/watkinsong/article/details/7882443 方式一: function result = gaborKernel2d( lam ...
- JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
contextmenu事件 该事件用以表示何时应该显示上下文菜单,以便开发者取消默认的上下文菜单,转而提供自定义的菜单. 因为该事件属于鼠标事件,所以其事件对象中包含与光标位置有关的所有属性.如: & ...
- android开发学习 ------- 自定义View 圆 ,其点击事件 及 确定当前view的层级关系
我需要实现下面的效果: 参考文章:https://blog.csdn.net/halaoda/article/details/78177069 涉及的View事件分发机制 https://www. ...
- 利用樹霉派採集溫濕度上傳到OneNET(非完整,僅參考)
看圖: Python代碼: #env /usr/bin/python3 #author Bruce import RPi.GPIO as GPIO import time import json im ...
- 断言assert用法
本文转自:http://blog.jobbole.com/76285/ 这个问题是如何在一些场景下使用断言表达式,通常会有人误用它,所以我决定写一篇文章来说明何时使用断言,什么时候不用. 为那些还不清 ...
- Vue.js - Day5 - Webpack
在网页中会引用哪些常见的静态资源? JS .js .jsx .coffee .ts(TypeScript 类 C# 语言) CSS .css .less .sass .scss Images .jpg ...