1.repr()
# print("你好. 我\\叫周润发") # 对用户是友好的. 非正式的字符串## 正式(官方)的字符串, 面向对象的时候# print(repr("你好, 我\'叫周润发")) # 程序中内部存储的内容, 这个是给程序员看的
2.sorted
# print(lst)# 内置函数中提供了一个通用的排序方案, sorted()# s = sorted(lst)# print(s)# 0 1 0 1 1 0 0# lst = ["聊斋", "西游记", "三国演义", "葫芦娃", "水浒传", "年轮", "亮剑"]## def func(s):# return len(s)%2## ll = sorted(lst, key=func)## print(ll)# key: 排序方案, sorted函数内部会把可迭代对象中的每一个元素拿出来交给后面的key# 后面的key计算出一个数字. 作为当前这个元素的权重, 整个函数根据权重进行排序lst = [ { 'name':"汪峰","age":48}, { "name":"章子怡",'age':38}, { "name":"alex","age":39}, { "name":"wusir","age":32}, { "name":"赵一宁","age":28} ]ll = sorted(lst, key=lambda el: len(el['name']), reverse=True)print(ll)
3.filter()
# lst = ["张无忌", "张铁林", "赵一宁", "石可心","马大帅"]# def func(el):# if el[0] == '张':# return False # 不想要的# else:# return True # 想要的# 筛选,# f = filter(lambda el: el[0]!="张", lst) # 将lst中的每一项传递给func, 所有返回True的都会保留, 所有返回False都会被过滤掉## print("__iter__" in dir(f)) # 判断是否可以进行迭代# for e in f:# print(e)# lst = [# {"name":"汪峰", "score":48},# {"name":"章子怡", "score":39},# {"name":"赵一宁","score":97},# {"name":"石可心","score":90}# ]## f = filter(lambda el: el['score'] < 60 , lst) # 去16期的人## print(list(f))
4.map()
# lst = [1,4,7,2,5,8]# 计算列表中没个数字的平方# ll = []# for el in lst:# ll.append(el**2)# def func(el):# return el**2# m = map(lambda el: el**2, lst) # 把后面的可迭代对象中的每一个元素传递给function, 结果就是function的返回值## print(list(m))# print("__iter__" in dir(m))# 分而治之# map(func1, map(func2, map(func3 , lst)))# lst1 = [1, 3, 5, 7]# lst2 = [2, 4, 6, 8, 10]# # 水桶效应, zip()# m = map(lambda x, y, z: x + y+ z, lst1, lst2, [5,1,2,3,6])# print(list(m))