三元运算

在说三元运算之前,我们看一段代码:

a = 1
if a == 1:
name = 'Hello'
else:
name = 'World'
print(name)

  输出:Hello

对于这种简单的判断语句我们可以将其使用三元运算进行表示:

a = 1
name = 'Hello' if a == 1 else 'World'
print(name)

  输出:Hello

可以看到上面4行代码实现的功能,使用三元运算一行代码就搞定了。

还有类似的代码(列表推导式、字典推导式):

l1 = [1, 2, 3, 4]
l2 = [i for i in l1 if i < 3]
print(l1)
print(l2)

  

l = [('k1', 2), ('k2', 4), ('k3', 6), ('k4', 8)]
d = {key: value for (key, value) in l}
print(d)

  

都可以起到简化代码的作用。

lambda

同样,在说lambda之前,我们看一段代码:

def f1(p1):
p1 += 100
return p1
ret1 = f1(10)
print(ret1)

  输出:110

对于这种简单的函数我们可以使用lambda进行表示:

f2 = lambda p1: p1 + 100
ret2 = f2(10)
print(ret2)

  输出:110

注意:lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个(即不能在后面添加if等语句)。

如果你的函数非常简单,只有一个表达式,不包含命令,可以考虑lambda函数。

最新文章

  1. Thinkstation center M8600t装RHEL7不能联网,网卡驱动没装问题
  2. zk系列-zookeeper概述
  3. Leetcode Perfect Square
  4. 类模板的static成员
  5. Python字符串,元组、列表、字典
  6. leveldb - 并发写入处理
  7. Ubuntu 14.10 下查看系统硬件信息(实例详解)
  8. Arrays
  9. JS实现滚动条滚到页面距离底部300px时执行事件的方法
  10. C++(MFC)
  11. jdbc_odbc SQLserver 驱动安装及测试
  12. 【HDOJ】1316 How Many Fibs?
  13. Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
  14. ZOJ3768 夹逼查找【STL__lower_bound()_的应用】
  15. java提高篇(三)-----理解java的三大特性之多态
  16. 前端之Sass/Scss实战笔记
  17. 201521123062《Java程序设计》第9周学习总结
  18. bootstrap时间格式化
  19. mysql的并发控制
  20. npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法

热门文章

  1. C#飞行棋游戏
  2. REST服务开发实战【转】
  3. [LeetCode系列]子集枚举问题[有重复元素]
  4. [LeetCode系列]最大连续子列递归求解分析
  5. 在Qt中如何使用QtDesigner创建的UI文件(一) (转)
  6. BZOJ2384:[CEOI2014]Match
  7. 生产环境LNMP (果图片)
  8. Java通过aws java sdk在AWS S3上进行操作客户端
  9. 封装与继承(PHP学习)
  10. Java垃圾回收原理