列表推导式

把需要用一个函数写成的小功能,利用一行表达式完成

例子:

 l = [1,2,3,4,5]
# 所有的偶数都放到新的列表中
# 正常函数
def Lst():
li = []
for i in l:
if i%2 == 0:
li.append(i)
return li li = Lst()
print(li) # 列表推导式
ls = [i for i in l if i%2 == 0]
print(ls)

练手题:

 # 30以内所有能被3整除的数
ls1 = [i for i in range(31) if i%3 == 0]
print(ls1)
# 30以内所有能被3整除的数的平方
ls2 = [i**2 for i in range(31) if i%3 == 0]
print(ls2)
# 找到嵌套列表中名字含有两个'e'的所有名字
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley'],['Alice']]
ls = [name for lst in names for name in lst if name.count('e') == 2]
print(ls)

生成器表达式:

与列表表达式写法一致,不同在于列表表达式中的 [ ] 换成了()

生成器取值的方式

1.gen.__next__
    2.for n in gen:pass
    3.list(gen)

思考:

题:

 1 def add(n,i):
2 return n+i
3
4 def test():
5 for i in range(4):
6 yield i
7
8 g=test()
9 for n in [1,10]:
10 g=(add(n,i) for i in g)
11
12 print(list(g))

=============================

lambda 函数写法

【lambda 参数 :具体函数】

例子:

a = lambda a,b : a if a>b else b

b = lambda a : '偶' if a%2==0 else '奇'

c = lambda a : abs(a)

print(a(3,2))

print(b(2))

print(c(-5))

最新文章

  1. springmvc原理
  2. js函数传参
  3. 获取当前时间UTC时间的下一个15分钟时间点
  4. IE11浏览器:请不要再叫我IE,谢谢
  5. ansible 安装使用
  6. NGUI之渲染DrawCall的合并
  7. ProgressDialog 的 使用
  8. 初探appium之appium的使用
  9. 基于opencv的手写数字识别(MFC,HOG,SVM)
  10. 黑客瑞士军刀NC使用教程
  11. HDU 5777 domino
  12. 测试那些事儿—selenium IDE 自动化测试
  13. Marlin 擠出頭溫度控制PID值校正
  14. Kong安装简介
  15. 机器学习 MLIA学习笔记(一)
  16. Java直接用javac来编译带package的类
  17. 【BZOJ 1098】办公楼(补图连通块个数,Bfs)
  18. 排序:快速排序Quick Sort
  19. linq中当生成asp.net实体模式时
  20. vim中翻页的命令

热门文章

  1. C/C++程序员 面试经历总结
  2. 都 9102 年了,一起来攻克 Linux 吧!
  3. ubuntu中搭建基本的开发环境
  4. ScrollView嵌套listview显示一行bug
  5. 【记录】原生js日期格式化转换方法
  6. Andoid之硬件访问服务1(让Andoid应用程序访问c库)
  7. (转)Unity Cinemachine插件,实现单目标和多目标之间切换
  8. 牛客练习赛48 C,D,E
  9. Linux系统关闭对ping命令做响应。
  10. PHP FILTER_SANITIZE_MAGIC_QUOTES 过滤器