欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python常用内置函数使用

程序员文章站 2022-03-08 13:17:09
基础小函数、字符串函数、序列函数序列、元组、列表小函数max() 求最大值(列表、元组、序列)min() 求最小值len() 求长度>>> a = [1,2,3,4]>>> max(a)4>>> min(a)1>>> len(a)4>>>运算小函数divmod() 求运算模,返回一个元组,第一个参数... ......

基础小函数、字符串函数、序列函数

序列、元组、列表小函数

max() 求最大值(列表、元组、序列)
min() 求最小值
len() 求长度

>>> a = [1,2,3,4]
>>> max(a)
4
>>> min(a)
1
>>> len(a)
4
>>>

运算小函数
divmod() 求运算模,返回一个元组,第一个参数是商,第二个是余数
pow(x,y) 指数运算,x的y次方
pow(x,y,z) x的y次方,在与z取模
round() 浮点数

>>> a = 3
>>> b = 4
>>> divmod(a,b)
(0, 3)
>>> divmod(b,a)
(1, 1)
>>> pow(a,b)
81
>>> pow(a,b,8)
1
>>>
>>> a/b
0.75
>>> round(a/b)
1
>>> round(a/b,2)
0.75
>>> round(a/b,4)
0.75
>>>

其它小函数
callable() 测试函数是否可被调用
isinstance(l,list) 测试l是否是一个list

>>> def f(x):
	pass

>>> callable(fc)
traceback (most recent call last):
  file "<pyshell#3>", line 1, in <module>
    callable(fc)
nameerror: name 'fc' is not defined
>>> callable(f)
true
>>>
>>> l = [1,2,3,4]
>>> t = (2,3,4,5)
>>> s = 'hello'
>>> isinstance(l,list)
true
>>> isinstance(t,tuple)
true
>>> isinstance(s,str)
true
>>> isinstance(l,str)
false

字符串函数

str.capitalize() 首字母大写
str.replace('x','y',count) 字符串替换 count 替换几次
str.split(“”,sep) 将字符串转换为列表,用“”切割,sep切割几次

>>> str1 = 'hello world , today is very good day'
>>> str1.capitalize()
'hello world , today is very good day'
>>> str1
'hello world , today is very good day'
>>> str1.replace('o','9',1)
'hell9 world , today is very good day'
>>> str1.replace('o','9',3)
'hell9 w9rld , t9day is very good day'
>>> str1.replace('o','9')
'hell9 w9rld , t9day is very g99d day'
>>>
>>> ip = '192.168.1.254'
>>> ip.split(".")
['192', '168', '1', '254']
>>> ip.split(".",1)
['192', '168.1.254']
>>>

序列函数

filter() 过滤函数
filter(f,l) 将l列表中的值传给函数f进行判断,保留满足要求的数值 函数return true

zip() 将两个列表的值进行对应,以元组存放在列表中。以最短的为组合数

map(none,a,b) 将列表a、b的值对应起来传给none函数,none可以作为函数

fc(x,y)
reduce(fc,list) 将列表list的值依次传输给函数fc

>>> def f(x):
	if x>5:
		return true


>>> l = [1,2,3,5,6,2,3,6,7,8]
>>> filter(f,l)
<filter object at 0x00000220ac4c95e0>
>>> list(filter(f,l))
[6, 6, 7, 8]
>>>
>>> name = ['zhang','li','wang','zhou']
>>> age = [22,21,23,24]
>>> list(zip(name,age))
[('zhang', 22), ('li', 21), ('wang', 23), ('zhou', 24)]
>>> city = ['beijing','shanxi','*']
>>> list(zip(name,age,city))
[('zhang', 22, 'beijing'), ('li', 21, 'shanxi'), ('wang', 23, '*')]
>>>
>>> def f(name,age):
	return name,age

>>> list(map(f,name,age))
[('zhang', 22), ('li', 21), ('wang', 23), ('zhou', 24)]
>>>
>>> def f(x,y):
	return x+y

>>> a = [1,2,3,4]
>>> b = [1,2,3,4]
>>> list(map(f,a,b))
[2, 4, 6, 8]
>>>
>>>
>>> l = range(100)
>>> reduce(f,l)
traceback (most recent call last):
  file "<pyshell#29>", line 1, in <module>
    reduce(f,l)
nameerror: name 'reduce' is not defined
>>>
>>> from functools import reduce
>>> reduce(f,l)
4950
>>> l = range(101)
>>> reduce(f,l)
5050
>>>
>>>

使用reduce时需要导入相应的模块。

reduce用来计算阶乘很方便。根据reduce,可以写成一行代码来。

>>> n = 101
>>> range(n)
range(0, 101)
>>> reduce(lambda x,y:x+y , l)
5050
>>>

+修改为*,就是求n的阶乘了。不对n-1的阶乘。

小例子动手写一下,印象更深刻。


读书和健身总有一个在路上