内置函数
1、lambda函数,函数即变量
x=lambda a,b:a+b
print(x(2,3))
d={"wsc":100,"wxy":101,"tsh":103}
for k, v in d.items():
print(k, v)
for k in d:
print(k, d.get(k))
print(sorted(d.items(),key=lambda a:a[-1],reverse=True))
#key传函数名,sorted会对每一个元素进行排序的时候,会自动调用这个函数
#根据这个函数的内容进行排序
#如果排序是多维数组,指定的是多维数组里面的哪个元素
#这里传入lambda表达式形参x的实参为列表d.items()的返回值中的每一个元素
2、使用lambda表达式
#lambda表达式在sort函数中的使用
#假如a是一个由元组构成的列表,对该列表进行排序时,我们需要用到参数key,也就是关键词,如下面代码所示,lambda是一个匿名函数,是固定写法;
#x表示匿名函数的输入,即列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,你可以使用任意的名字;x[0]表示匿名函数的输出,即元组里的第一个元素,即key = x[0];所以这句命令的意思就是按照列表中第一个元素进行排序
a = [(1, 2), (4, 1), (9, 10), (13, -3)]
a.sort(key=lambda x: x[1])
print(a)
#Output: [(13, -3), (4, 1), (1, 2), (9, 10)]
3、内置函数
l7=[1,22,3,44,55,655,778,4,45]
sum()
print(sum(l7)) #求和
print(sum(l7)/len(l7)) #求平均值
max()
print(max(l7)) #最大值
min()
print(min(l7)) #最小值
chr()和ord()
print(chr(97)) #通过asiic码反查字符集
print(ord(‘a’)) #查看asiic码
dir()
print(dir(l)) #查看某个变量的方法
locals()
#locals()返回当前函数局部变量,并放在字典里面
def my():
name=“wxy”
age=2
print(locals())
my()
reversed()反转对象
print(list(reversed(l7)))
all()
传一个list,里面值全为真则真,一个为假则为假
print(all([1,2,3,0]))
any()
传一个list,里面值一个为真则为真,全假为假
print(any([1,2,3,0]))
zip()
把多个一维数组变成一个二维数组
score=[1,2,334543]
name = [“xiaohen”,“xiaolan”,“xiaohei”]
print(list(zip(name,score)))
exec()
#解析python代码并运行
code = “print(‘hahhahahh’)”
exec(code)
eval()
执行简单的代码,比如定义变量、运算
eval(code)
#map()
循环调用函数
#语法:map(function, iterable, …)
def int_to_str(s):
print(s)
return str(s)
l8=[1,2,3,4,5,6,7,7,8,8,6,4,4]
result= list(map(int_to_str,l8))
print(result)
filter()
循环调用函数,并过滤数据,返回true就保留,返回false就过滤掉
def zhaoduixiang(item):
age = item.get("age")
if age<25:
return True
person = [
{"name":"xiaoming2","age":23},
{"name":"xiaoming3","age":24},
{"name":"xiaoming4","age":25},
{"name":"xiaoming5","age":26},
{"name":"xiaoming6","age":27},
{"name":"xiaoming7","age":28},
]
result=list(filter(zhaoduixiang,person))
print(result)
4、string内置函数
print(string.ascii_lowercase) #所有小写字母
print(string.ascii_uppercase) #所有大写字母
print(string.digits) #所有数字
print(string.punctuation) #所有的特殊符号
print(string.ascii_letters) #大写字母+小写字母