关于内置函数

内置函数

如果想要看非常全面的可以到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)
原文地址:https://www.cnblogs.com/935415150wang/p/7055193.html