def add(x):
return x + 1
def test(func,array):
ret = []
for i in array:
res = func(i)
ret.append(res)
return ret
arr = [1,2,3,4]
print(test(lambda x: x * 100, arr))
print(test(lambda x: x ** 2, arr))
print(test(add, arr))
map(函数,迭代器)
map函数:将迭代器里的元素执行函数后的结果,以迭代器的内存地址形式返回
print(list(map(lambda x : x ** 2, arr)))
#返回迭代器地址,输出需转化一下
#############################################################################
filter函数:
filter(函数,迭代器)
筛选出迭代器中满足函数(bool值)的元素,以迭代器的内存地址形式返回
name = ["Q_sb","H_sb","QH"]
print(list(filter(lambda x : (x.endswith("sb") == False),name)))
#['QH']
reduce函数,将一个迭代器合并成一个结果
def reduce_test(func, array, init = None): #可添加初始值
if init != None:
res = init
for num in array:
res = func(res, num)
else:
res = array.pop(0)
for num in array:
res = func(res, num)
return res
arr = [1,20,100,50]
print(reduce_test(lambda x,y:x + y, arr))
print(reduce_test(lambda x,y:x + y, arr, 5))
from functools import reduce
print(reduce(lambda x,y:x + y, arr))
print(reduce(lambda x,y:x + y, arr, 5))
############################################################################
内置函数:
abs(-1) #绝对值
all([1,2,0]) #可迭代对象,元素bool值,一假全假返回False,其余返回True,为空返回True
any([1,2,0]) #可迭代对象,元素bool值,一真全真返回True,其余返回False
bin(3) #二进制
bool("") #bool值
bytearray()
bytes()
name = "你好"
bytes(name, encoding = 'utf-8') #b'\xe4\xbd\xa0\xe5\xa5\xbd' 二进制编码
print(bytes(name, encoding = 'utf-8').decode('utf-8')) #解码,用那种格式编码,就用那种格式解码
ascii()
callable()
chr(97) #ascii表转字符
ord("a") #字符转ascii表
classmethod()
complex()
delattr()
dict()
dir(all) #打印某一对象下面所有的方法
divmod(10,3) #(3,1)计算出(商,余数)
enumerate()
eval(str)
1、把字符串中的数据结构提取传来
dic_str = str({"name": "Q", "age": 18})
print(dic_str)
dic = eval(dic_str)
print(dic["name"]) #Q
2、把字符串中的表达式进行运算
express = "1+3*(4/2) -100"
eval(express) #-93.0
exec()
filter()
float()
format()
frozenset()
getattr()
globals()
hasattr()
hash() #可hash的数据类型即不可变数类型,不可hash的数据类型即可变数据类型。在程序中变量会生成一个hash值,若变量被重新复制,hash值也会变化
help(str) #打印详细信息
hex() #十进制转换为十六进制
oct() #十进制转换为八进制
id() #内存地址
input()
int()
isinstance() #判断属性
print(isinstance(1, int)) #True
issubclass()
iter()
len()
print(globals()) #输出全局变量
print(locals()) #输出局部变量
print(__file__) #输出该程序的文件路径
list()
map()
max() #最大值
min() #最小值
l = [1,12,444,0,4554,67]
print(max(l),min(l)) #4554 0
zip() #将两个序列一一对应组成元组,若两个序列不一样长,取最短的那个序列的长度
print(list(zip(("a","b","c"),(1,2,3,4))))#[('a', 1), ('b', 2), ('c', 3)]
dic = {"a" : 1,"b" : 2,"c": 3}
print(list(zip(dic.keys(),dic.values())))#[('a', 1), ('b', 2), ('c', 3)]
############################
#比较字典的values且输出key和value
print(max(list(zip(dic.values(), dic.keys())))) #(3, 'c')
li = [
{"name": "q", "age": 18},
{"name": "q", "age": 14},
{"name": "q", "age": 55},
{"name": "q", "age": 28}
]
print(max(li,key = lambda dic:dic["age"])) #{'name': 'q', 'age': 18}
memoryview()
next()
object()
open()
pow()
print(pow(3,3)) #3**3
print(pow(3,3,2)) ##**3%2
print()
property()
range()
repr()
reversed()
round() #四舍五入
set()
setattr()
slice() #切片范围
s = "fgkggkfgkgk"
sl = slice(2,7,3)
print(s[sl])
sl.start
sl.end
sl.step
sorted()
li = [
{"name": "q", "age": 18},
{"name": "q", "age": 14},
{"name": "q", "age": 55},
{"name": "q", "age": 28}
]
print(sorted(li, key = lambda dic : dic["age"], reverse = False)) #按照年龄排序(从小到大)
staticmethod()
str()
sum()
super()
tuple()
type() #查看数据类型
vars()
print(vars()) #输出local变量,字典形式
print(vars(int) #输出int类型的所有方法,字典形式
zip()
__import__()
python(6)map、filter、reduce和内置函数
最新推荐文章于 2024-05-26 21:42:39 发布