关于内置函数
内置函数
如果想要看非常全面的可以到python官网中进行查看,这里我只是将我认为基础且重要的部分函数拿出来
https://docs.python.org/2/library/functions.html 官网链接
第一个 divmod 求出商和余数
print(divmod(73,23)) (3, 4)
得到他的商和余数是 3,4
这个通常会用到制作网页分页时候,一页显示40行内容,共230行内容我们就需要分成6页显示
res = divmod(230 , 40) if res[1] >0 : page_count=res[0]+1 print(page_count)
第二个 enumerate(遍历的列表,*起始标记)
l=['a','b','c'] # # for i in enumerate(l,1): print(i)
(1, 'a')
(2, 'b')
(3, 'c')
这里我们打印出来的效果,如果我们不加后面的1那么他会从0开始,如果是字典提出key
第三个 set和frozenset
set是列表格式,他可以增删改查,而frozenset是不可变列表他所做的是创立之后就不可以增删改
第四个 hash求一个不可变量的哈希值
第五个 isinstance(需要判断类型,标准类型)
如果判断类型不同于标准类型那么返回true
第六个 pow (数值,几次方,mod几)
例如 pow(3,2,2) 就相当于3的2次方 在除以2求余数
print(pow(3,2,2)) #3**2%2
1
第七个 revsersed(有序参数)的倒序排列
列如有一个列表
l1=[3,5,1,2] print(list(reversed(l1))) print(l1) 我们在下面做一个对比的 [2, 1, 5, 3] #print(list(reversed(l1)))
[3, 5, 1, 2] #print(l1)
第八个 round(小数,保留位数)
3.3456 保留3位
print(round(3.3456,3))
3.346
第九个 slice(从第几个开始,到第几个,步长)
他的效果就好比
l=['a1','a2','a3','a4','a5','a6','a7','a8','a9']
print(l[2:5:2])
['a3', 'a5']
含有slice的方式
x=slice(2,5,2)
print(l[x])
['a3', 'a5']
第十个zip(第一个列表,第二个列表)
取出两个列表的最短的那个列表,然后将最少的那个列表为个数输出
s='hello' l=[1,2,3] for i in zip(s,l): print(i) 输出结果 ('h', 1) ('e', 2) ('l', 3)
几个特别的函数的引用
第一个特别的map()函数 映射函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算: def f(x): return x*x print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) 输出结果: [1, 4, 9, 10, 25, 36, 49, 64, 81] 注意:map()函数不改变原有的 list,而是返回一个新的 list。
第二个特别的filter() 过滤函数
格式:
filter(func, seq)
该函数的目的是提取出seq中能使func为true的元素序列。func函数是一个布尔函数,filter()函数调用这个函数一次作用于seq中的每一个元素,筛选出符合条件的元素,并以列表的形式返回。
下面举一个列子说明,假如有个列表,列表中有几个数字,现在我想从这些数字中,选出即能被2整除又能被3整除的数。
nums = [2,3,6,12,15,18] def nums_res (x): return x % 2 == 0 and x % 3 == 0 print filter(nums_res, nums) 执行结果:[6, 12, 18]
可以这么理解 filter(满足的条件,列表)
只输出满足的部分
第三个特别
Python中的reduce 合并函数
python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。
l=(2,3,4,5) from functools import reduce # python3 中没有reduce需要从模块中调用 def myd(x,y): return x**y fang=reduce(myd,l) print(fang)
返回的结果
1152921504606846976
这就相当(((2**3)**4)**5)