1 name查看函数的函数名
代码块
def func(i):
return i*i
a=func
a(3)
print(a.__name__) #func
2. 匿名函数lambda
代码块
a=lambda x:x+1 #匿名函数,前面X是函数体,冒号后面是返回值
print(a(3))
print(a.__name__) #<lambda>
代码块
b=lambda i:i+1
print(b(8))
print(b.__name__) #__name__查看调用的是哪个函数
3. sorted() 函数
代码块
name=['wangsiyu','nezha','wukong']
name.sort()
print(name) #['nezha', 'wangsiyu', 'wukong']
name.sort(reverse=True)
print(name) #['wukong', 'wangsiyu', 'nezha'] reberse=True把列表颠倒过来
4.根据a的个数来排序
代码块
num=['4a','aaaaa','66aa','54aaa','1a','33aa',]
res=sorted(num,key=lambda x:x.count('a'),reverse=False)
print(res) #['4a', '1a', '66aa', '33aa', '54aaa', 'aaaaa']
5.按照年龄大小来排序
代码块
lst=[
{'name':'wangsiyu','age':18},
{'name':'nezha','age':38},
{'name':'huluwa','age':30},
{'name':'wangpei','age':18}
]
res=sorted(lst,key=lambda x:x['age'])
print(res)
#[{'name': 'wangsiyu', 'age': 18}, {'name': 'wangpei', 'age': 18}, {'name': 'huluwa', 'age': 30}, {'name': 'nezha', 'age': 38}]
6. filter筛选函数
代码块
# filter()
a=list(range(20))
b=filter(lambda x:x%2==1,a)
print('__iter__' in dir(b)) #返回True说明是可迭代对象
print('__next__' in dir(b)) #返回True说明是迭代器
print(list(b)) #[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
7. map()函数处理可迭代对象中的每个函数
代码块
lst=list(range(1,11))
res=map(lambda x:x*x,lst)
print(res) #<map object at 0x0120E9B0>
print(list(res)) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
代码块
lst1=[1,2,3,4,5,6]
lst2=sorted(lst1,reverse=True)
res=map(lambda a,b:a+b,lst1,lst2)
print(res)
print(list(res)) #[7, 7, 7, 7, 7, 7]
8. 给一个文件目录,遍历这个文件里面所有的文件,打印出来
代码块
import os
import time
def func(filepath):
it=os.listdir(filepath) #打开目录下文件和文件夹
print(it)
for el in it:
abs_path=os.path.join(filepath,el) #获取到绝对路径
if os.path.isdir(abs_path): #是文件夹
print(el)
func(abs_path)
else:
print(el)
path=input('请输入文件夹路径:')
func(path)
别跑,点个赞再走
网友评论