python内置函数二
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))