推导式
-
字典推导式
scssx= { i : i**2 for i in (2, 4, 6) } print(x) print(type(x))
-
集合推导式
inia = {x for x in 'ahfws' if x not in 'abc'}
-
列表推导式
ini# 在list1中但不在list2中的元素 result = [x for x in list1 if x not in set(list2)] # 找到名字长度大于3的,并转为大写 names = ['Bob','Tom','alice','Jerry','Wendy','Smith'] new_names = [name.upper() for name in names if len(name)>3]
-
元组推导式
scssa = (x for x in range(1,3)) tuple(a)
lambda
-
map(function, iterable):将指定的函数应用在列表的每个元素上,并返回一个新的序列
inilist1 = (1,2,3) xxx= map( lambda x: x**2, list1) # # 算每个元素的平方 print(list(xxx)) # [1, 4, 9]
-
filter(function, iterable):将指定的函数应用在列表的每个元素上,过滤出函数计算结果为True的元素,最后返回一个新的序列
ininumbers = [1, 2, 3, 4] xxx= filter(lambda x : x%2 ==0 ,numbers) # print(list(xxx))
-
filter(function, iterable):将列表的第一个元素和第二个元素进行函数计算,将得到的结果与其余的元素继续进行函数计算,最后最后返回一个最终计算结果
scssfrom functools import * numbers = [1, 2, 3, 4] xxx= reduce(lambda x,y: x+y, numbers) print(xxx)
装饰器
python
from functools import wraps
def logger(func):
@wraps(func)
def decorated(*args, **kwargs):
return func(*args, **kwargs)
return decorated
@logger
def addition_func(x):
return x + x
print(addition_func(4)) # 输出8