实例引入
#这是字符串去重的代码
st=input('一个字符串')
ans=''.join(sorted(set(st),key=lambda ch:st.index(ch)))
print(ans)
这里面涉及了四个常见的点,是个很好的理解实例:join、sorted、lambda、index
join
描述
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
语法
join()方法语法:
str.join(sequence)
参数
sequence -- 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
sorted
描述
sorted() 函数对所有可迭代的对象进行排序操作。
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
语法
sorted(iterable,key=None,reverse=False)
参数说明:
iterable -- 可迭代对象。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
lambda
描述
Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
是一种快速定义单行的最小函数,可以简化代码。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
语法
python中使用Lambda来创建匿名函数
lamdba表达式的语法非常的简单
只要一个语句
lambda [arg1 [, arg2, ... , argn]]: expression
实例
下面是一个lamdba表达式的例子
sum=lambda a,b: a + b sum(1,3)
我们可以理解为
a,b 是两个传递参数
a + b是一个表达式
sum是函数名
当我们把a、b两个参数传递给sum函数,会对a和b进行运算,a+b,然后返回结果
index
描述
Python index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
语法
index()方法语法:
str.index(str,beg=0,end=len(string))
参数
str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
返回值
如果包含子字符串返回开始的索引值,否则抛出异常。