diff --git a/Python 基础教程/1.5.6 元组.py b/Python 基础教程/1.5.6 元组.py index 0491be6..ddddd6d 100644 --- a/Python 基础教程/1.5.6 元组.py +++ b/Python 基础教程/1.5.6 元组.py @@ -1,3 +1,21 @@ +# 元组属于不可变序列(元素集合),一旦创建,用任何方法都不可以修改其元素。 +# 从形式上,元组的所有元素放在一对圆括号中,元素之间用逗号分隔。 + +# 元组与列表的区别 +# 元组中的数据一旦定义就不允许更改。 +# +# 元组没有append()、extend()和insert()等方法,无法向元组中添加元素。 +# +# 元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。 +# +# 从效果上看,tuple( )冻结列表,而list( )融化元组 + +# 元组的优点 +# 元组的速度比列表更快。 +# +# 元组对不需要改变的数据进行“写保护”将使得代码更加安全。 +# +# 元组可用作字典键(特别是包含字符串、数值和其它元组这样的不可变数据的元组)。元组有时还作为函数的返回值返回(返回多个值)。 x = (1,2,3) x =(3) diff --git a/Python 基础教程/1.5.7 A 练习1.py b/Python 基础教程/1.5.7 A 练习1.py index 0a47666..d4aa776 100644 --- a/Python 基础教程/1.5.7 A 练习1.py +++ b/Python 基础教程/1.5.7 A 练习1.py @@ -7,6 +7,7 @@ l = [a/b] for i in range(1,20): a,b = a+b,a l.append(a/b) +print(l) print(reduce(lambda x,y:x+y,l)) diff --git a/Python 基础教程/1.5.7 lamda应用.py b/Python 基础教程/1.5.7 lamda应用.py new file mode 100644 index 0000000..e4fbb4b --- /dev/null +++ b/Python 基础教程/1.5.7 lamda应用.py @@ -0,0 +1,23 @@ +# 一、lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子: +def f(x): + return x**2 +print(f(4)) +# Python中使用lambda的话,写成这样 +g = lambda x : x**2 +print (g(4)) + +# lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象 +foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] +print (filter(lambda x: x % 3 == 0, foo)) + +# 二、lambda和普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数,又不能共享在别的地方调用。 +# +# 其实说的没错,lambda在Python这种动态的语言中确实没有起到什么惊天动地的作用,因为有很多别的方法能够代替lambda。 +# +# 1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。 +# +# 2. 对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。 +# +# 3. 使用lambda在某些时候让代码更容易理解。 + + diff --git a/Python 基础教程/1.5.7 reduce应用.py b/Python 基础教程/1.5.7 reduce应用.py index 88b12f0..9d6c7d6 100644 --- a/Python 基础教程/1.5.7 reduce应用.py +++ b/Python 基础教程/1.5.7 reduce应用.py @@ -1,6 +1,5 @@ - - from functools import reduce + lst=[1,2,3,4] print(reduce(lambda x,y: x*y+1, lst))