在我们在学习的时候Python的时候要使用到很多工具来帮助我们更方便的学习,函数就是其中之一,使用函数可以帮助我们更快的进行计算、寻值等操作。
下面表格中为Python提供的内置函数,我们可以直接进行使用。
函 数 | 功 能 |
sum() | 求序列中所有值的和 |
max() | 求序列中的最大值 |
min() | 求序列中的最小值 |
len() | 求序列的长度 |
str() | 把序列格式转换为字符串 |
list() | 把序列格式转换为列表 |
set() | 把序列格式转换为集合 |
tuple() | 把序列格式转换为元组 |
reversed() | 把序列中的所有元素进行逆序 |
sorted() | 把序列中的所有元素进行排序 |
enumerate() | 把序列组合成一个索引序列,一般在for循环中 |
本小节主要介绍前四个函数,剩下的函数会穿插在本章的后续小节中。
1.sum()函数
sum函数的语法格式为:
sum(iterable[start:end]
其中iterable指可迭代的,在这里我们指序列,start代表对应序列的起始位置(包含),而end为终止位置(不包含此位置),用这种切片方式我们可以求出指定片段的序列和,当仅使用sum(iterable)的时候即求出整个序列的和。
下面我们仍通过实例来看一下:
my_list = [1,2,3,4,5,6] my_tuple = (1,2,3,4,5,6) my_set = {1,2,3,4,5,6} print(sum(my_list)) print(sum(my_tuple)) print(sum(my_set))
输出结果为:
21 21 21
关于sum()函数需要注意它只针对整数求和,如果序列我们要求的项中有非整数部分,那么就报错。
2.max()函数和min()函数
对于这两个函数,大家可以很简单的从字面意思理解到它是求最大值和最小值的,因此我们一样可以在序列中使用他们,同时也要注意他们不止是针对整数段,他们还支持对字符串的处理。
来看个例子:
my_list = [1,2,3,4,5,6] my_str = '123456' my_tuple = (1,2,3,4,5,6) my_set = {1,2,3,4,5,6} string = 'abcedfg'#当对于英文字母时 listing = ['a','b','c','d'] print(max(my_list),min(my_list))#求列表中的最大值和最小值 print(max(my_str),min(my_str))#求字符串中的最大值和最小值 print(max(my_tuple),min(my_tuple))#求元组中的最大值和最小值 print(max(my_set),min(my_set))#求集合中的最大值和最小值 print(max(string),min(string))#字母中的最大和最小值 print(max(listing),min(listing))#列表中字母的最大和最小值
输出结果为:
6 1 6 1 6 1 6 1 g a d a
在这里需要注意这两个函数可以在字符串中找到最大值和最小值,针对26个英文字母,系统规定最大值为‘z',最小值为‘a',这两个函数在基础算法题求解的过程可以给我们提供很大的帮助。
3.len()函数
这个函数大家可以用length(长度)来理解,它用来统计序列的长度,即列表中有多少元素。当涉及到索引问题的时候,len()函数能提供很大的帮助,我在遍历列表的时候最常用的一种方式就是for i in range(len(list)),这样在进行遍历的时候就可以直接从列表的第一项遍历到最后一项,同时要注意索引。
来看下面例子:
my_list = [1,2,3,4,5,6] my_str = '123456' my_tuple = (1,2,3,4,5,6) my_set = {1,2,3,4,5,6} print(len(my_list))#求列表中的长度 print(len(my_str))#求字符串中的长度 print(len(my_tuple))#求元组中的长度 print(len(my_set))#求集合中的长度
输出结果:
6 6 6 6
1002 | [编程入门]三个数最大值 |
1006 | [编程入门]三个数找最大值 |
1065 | 二级C语言-最小绝对值 |
2002 | 计算数字个数 |
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程