【Python】python学习之总结

电玩女神 2021-10-01 07:54 419阅读 0赞
  1. 1 迭代器:
  2. 2 def gen():
  3. 3 a = 100
  4. 4 yield a
  5. 5 a = a * 8
  6. 6 yield a
  7. 7 yield 1000
  8. 8 for i in gen():
  9. 9 print(i)
  10. 10 创建一个函数,循环体,yield循环到此就返回一个值。调用函数,打印出循环结果:
  11. 11 100
  12. 12 800
  13. 13 1000
  14. 14 表推导:
  15. 15 L = [x**2 for x in range(10)]
  16. 16 print(L)
  17. 17 等价于:
  18. 18 M = []
  19. 19 for x in range(10):
  20. 20 M.append(x**2)
  21. 21 print(M)
  22. 22 打印出结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
  23. 23 xl = [1,3,5]
  24. 24 yl = [9,12,13]
  25. 25 L = [ x**2 for (x,y) in zip(xl,yl) if y > 10]
  26. 26 print(L)
  27. 27 等价于
  28. 28 for (x,y) in zip(xl,yl):
  29. 29 if y > 10:
  30. 30 print(x)
  31. 31 我们可以先打印出zip对应的Y值大于10X的值
  32. 32 打印出X的值:
  33. 33 >>3
  34. 34 >>5
  35. 35 打印出L的值:[9, 25]
  36. 1 #lambda函数
  37. 2 def test(f,a,b):
  38. 3 print ('test')
  39. 4 print(f(a,b))
  40. 5 test((lambda x,y:x**2+y),6,9)
  41. 6 #使用lambda匿名函数给f参数传递值,可以使不同形式的。
  42. 7 打印结果:
  43. 8 >>test
  44. 9 (f(a,b))相当于a=6传递给xb=9传递给y,组合成f的值
  45. 10 >>45
  46. 11 #map()
  47. 12 re = map((lambda x:x+3),[1,3,5,7])
  48. 13 print(list(re))
  49. 14 #map中的一个参数x,将后面列表中的值一次传递给x,相当于列表的值依次加3,在取值中以列表的形式。
  50. 15 打印结果:
  51. 16 [4, 6, 8, 10]
  52. 17 re2 = map((lambda m,n:m**n),[1,2,3,4],[5,6,7,8])
  53. 18 print(list(re2))
  54. 19 打印结果:
  55. 20 [1, 64, 2187, 65536]
  56. 21 #filter()
  57. 22 def abc(a):
  58. 23 if a > 100:
  59. 24 return True
  60. 25 else:
  61. 26 return False
  62. 27 newlist = filter(abc,[100,30,101,200])
  63. 28 print(list(newlist))
  64. 29 #创建一个函数abc中有一个参数a。newlist中函数filter将列表的值一次传给函数abc中的参数a,取值用列表形式。
  65. 30 打印结果:
  66. 31 [101, 200]
  67. 32 #reduce()
  68. 33 #from functools import reduce #因为python不支持reduce函数,可以在functools库中导入单个reduce函数
  69. 34 import functools #可以直接导入整个库
  70. 35 print(functools.reduce(lambda x,y:x+y,range(1,101)))
  71. 36 #reduce函数是将列表中的值的第一次传递两个参数相加的和3,在传递一个参数3相加。相当于1-100相加的和。
  72. 37 打印结果:
  73. 38 >>5050

转载于:https://www.cnblogs.com/yanglang/p/7743895.html

发表评论

表情:
评论列表 (有 0 条评论,419人围观)

还没有评论,来说两句吧...

相关阅读