Python常用函数总结


本篇文章总结了Python编程中常用的几种函数,后期会不断更新,如发现有不足之处,欢迎指正,谢谢。

(1) range()函数

range()是Python中的内置函数,其基本语法如下:

range(start, stop, step)

其中,start表示起始值,stop表示终止值,step表示步长。

注意:

  1. “前包后不包”原则。即包括起始值而不包括终止值。
  2. 步长省略时,默认为1。
  3. 在Python2中,range()函数的结果是一个列表;但在Python3中,其结果是一个可迭代对象,而不是一个列表,若要查看结果,可使用list()函数进行转换;

示例及相关解释如下:

print(list(range(2,11)))
print(range(2,11,3))
print(list(range(2,11,3)))

#执行结果如下:
[2, 3, 4, 5, 6, 7, 8, 9, 10]
range(2, 11, 3)
[2, 5, 8]

(2) split()函数

split()函数通过指定分隔符对字符串进行切片,返回结果是切片后的列表。当无指定分割符时,默认对空格或者换行符进行切片。

示例及相关解释如下:

#示例:提取'2019/12/29 23:15:10'的月份12和秒数10
a1 = '2019/12/29 23:15:10'
print(a1.split())

month = a1.split()[0].split('/')[1]
print(month)

minute = a1.split()[1].split(':')[2]
print(minute)

#执行结果如下所示:
['2019/12/29', '23:15:10']
12
10

(3) strip()函数

strip()函数用于移除字符串头尾指定的字符,返回结果是移除指定字符后的字符串。当无指定字符时,默认对空格或者换行符进行移除。

示例及相关解释如下:

a1 = '   Are you happy today?\nI wish you happy every day\n\n'
print(a1)
print(a1.strip())

a2 = '^_^Hope you are safe and happy^_^'
print(a2)
print(a2.strip('^_^'))

#执行结果如下所示:
   Are you happy today?
I wish you happy every day


Are you happy today?
I wish you happy every day
^_^Hope you are safe and happy^_^
Hope you are safe and happy

(4) sum()函数

sum()函数对参数对象求和。该函数有两种情况,分别是Python内置的sum()函数,另一个是numpy.sum()函数。

其基本语法如下:

sum(iterable, start)

其中,iterable表示可迭代对象,start表示具体值。

示例及相关解释如下:

#Python内置的sum()函数
print(sum([4,5,5]))
print(sum([1,2,3],2))

#Numpy中的sum()函数
import numpy as np
#Case1:无指定axis。
print(np.sum([[1,2,3], [4,5,5]]))
#Case2:指定axis=0, 跨行相加。
print(np.sum([[1,2,3], [4,5,5]],axis=0))
#Case2:指定axis=1, 跨列相加。
print(np.sum([[1,2,3], [4,5,5]],axis=1))

#执行结果如下:
14
8
20
[5 7 8]
[ 6 14]

(5) reduce()函数

reduce() 函数从左到右对一个序列的项累计应用有2个参数的函数,最终结果为一个单值。该函数有以下两种情况:

  1. Python3里functools模块中的reduce()函数,其基本语法如下:
reduce(function, iterable)

其中,function是包含两个参数的函数,iterable是可迭代对象。

示例及相关解释如下:

from functools import reduce
print(reduce(lambda x,y: x*y,range(1,4)))
#执行结果如下所示:
6
  1. Numpy.add.reduce()函数,其基本语法如下所示:
reduce(array, axis, dtype)

其中,array表示数组对象,即data, axis为轴标记,dtype指定数据类型。

示例及相关解释如下:

import numpy as np
print(np.add.reduce([1,2,3,4]))
#跨行相加
print(np.add.reduce([[1,2,3],[4,5,6]], axis=0))
#跨列相加
print(np.add.reduce([[1,2,3],[4,5,6]], axis=1))
#执行结果如下:
10
[5 7 9]
[ 6 15]

(6) map()函数

该函数也称映射函数,功能为将function应用于iterable的每一个元素,结果以可迭代对象的形式返回,如果查看结果应使用list()方法进行转换。

基本语法如下所示:

map(function,iterable)  

其中,function为函数(1. 自定义函数;2. 匿名函数),iterable为可迭代对象;

示例及相关解释如下:

def squa(x):
    return x*x

list_1 = [1,2,3,6,4]

print(map(squa,list_1))
print(list(map(squa,list_1)))

#执行结果如下所示:
<map object at 0x00000272CC8A4240>
[1, 4, 9, 36, 16]

补充:map()函数也可以这样使用哦

import pandas as pd

name_list = ['赵','钱','孙','李']
is_pass = [0,1,1,0]

#使用字典创建数据框
dict_1 = {'name':name_list,'state':is_pass}
df = pd.DataFrame(dict_1)
print(df)

#数据框添加一列数据,该列数据是在原state列基础上将0映射为不及格,将1映射为及格。
df['new_state'] = df.state.map({0:'未及格',1:'及格'})
print(df)

#执行结果如下所示:
  name  state
00
11
21
30
  name  state new_state
00       未及格
11        及格
21        及格
30       未及格

(7) filter()函数

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

filter()语法格式如下:

filter(function, iterable)

该函数接收两个参数,第一个为函数,第二个为可迭代对象,序列的每个元素作为参数传递给函数进行判别,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

示例及相关代码如下所示:

q = list(filter(lambda x:x%2 == 0, range(1,10)))
print(q)

#执行结果如下所示:
[2, 4, 6, 8]

(8) zip()函数

zip() 可理解为“打包”函数,该函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组。在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。若要将结果展示出来,可以使用 list() 来转换。

zip()语法格式:

 zip(iterable,....iterable)

其中,该函数的参数为多个可迭代对象。

示例及相关代码如下所示:

a = [1, 2, 3]
b = ['x', 'y', 'z']
c = [1.1, 2.2, 3.3]

result = zip(a, b, c)
print(result)
print(list(result))

#执行结果如下所示:
<zip object at 0x0000023394DA5648>
[(1, 'x', 1.1), (2, 'y', 2.2), (3, 'z', 3.3)]

(9) set()函数

set()函数是Python中的集合函数,返回结果是一个集合类型。其有两个重要特点:1. 无序,2. 不重复。因此可使用set()函数实现去重功能。

set()语法格式:

set([iterable])

该函数的参数为可迭代对象。

示例及相关代码如下所示:

a = set([23,34,56,78,34,23])
print(a)

执行结果如下所示:
{56, 34, 78, 23}

由上述结果可看出,set()函数的定义顺序与输出顺序不一致,且输出结果是去重后的结果。

(10) sort()函数和sorted()函数

sort()/sorted()均为Python中的排序函数。
两者的相同点和不同点如下:

  1. 两者的调用方式不同,其语法格式分别如下:
s.sort()
sorted(iterable)
  1. sorted() 可作用于任意可迭代的对象,而 sort() 一般作用于列
    表。
  2. 当调用对象为列表时,sort()函数返回None,且原来列表被修改为排完序后的列表,而sorted() 函数会返回一个排序后的列表,并保持原列表不变。

示例及相关代码如下所示:

a1 = [12,34,16,28,9]
print(sorted(a1))
print(a1)

print(a1.sort())
print(a1)

b1 = (12,32,34,1,12,22)
print(sorted(b1))
print(b1.sort())

#执行结果如下所示:
[9, 12, 16, 28, 34]
[12, 34, 16, 28, 9]
None
[9, 12, 16, 28, 34]
[1, 12, 12, 22, 32, 34]
Traceback (most recent call last):
AttributeError: 'tuple' object has no attribute 'sort'

(11) lambda()函数

lambda()函数是Python中的匿名函数,其中,匿名指函数没有名字。匿名函数的使用场景是函数的函数体仅是一个有限的逻辑,该逻辑通常用表达式就可以封装。

该函数的语法格式如下:

lambda [arg1 [,arg2,.....argn]]:expression

首先是lambda关键字,匿名函数函数arg1,arg2,…“:”符号,表示代码块的开始,expression指表达式。

示例及相关代码如下所示:

#该函数计算两参数的乘积
print((lambda a,b:a*b)(3,4))
执行结果如下:
12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值