从本例学到什么
- 操作列表的函数有len(), sum(), max(), min()等,使用这类函数,省事不少。
- 列表的方法有sort(), count(), index()等,熟练使用列表方法,帮助你快速解题。
实例程序
题目描述
一维数组最大值和最小值交换
找出含有10个元素一维数组中的最大值和最小值,并互换这两个数的位置。
输入格式:
在一行中输入10个整数,数据之间只能用1个空格间隔。
输出格式:
在一行中按照“max=最大值,min=最小值”的格式输出结果,最大值和最小值均原样输出,没有列宽控制。 在下一行中输出交换完最大值和最小值的一维数组,每个数据输出占5列。
输入样例:
6 5 1 2 3 4 8 9 7 5
输出样例:
max=9,min=1
6 5 9 2 3 4 8 1 7 5
来源
PTA网站
上述题目的参考答案
#读入10个数
line = input().split()
nums = []
for s in line:
nums.append(int(s))
#使用函数求出最大最小值
n_max = max(nums) #max函数求列表的最大值
n_min = min(nums) #min函数求列表的最小值
#使用index方法求出最大值的索引和最小值的索引(即位置)
i_max = nums.index(n_max) #index方法求出nums列表中n_max值的位置
i_min = nums.index(n_min)
#交换最大值和最小值的位置
nums[i_max], nums[i_min] = nums[i_min], nums[i_max]
#输出
print("max=%d,min=%d"%(n_max, n_min))
for k in nums:
print("%5d"%k, end='') #%5d是格式化描述符,表示输出一个整数,占5列宽度
知识点讲解
- Python语言有众多内置函数(就是自带的函数)。内置函数的清单见《Python内置函数》。作用于列表的函数有sum(), max(), min(), cmp(), len(), enumerate()等。
- 列表有一系列方法。上一节给出的代码中,index()就是一种方法。
(1)Python 列表(List)操作方法详解一文列出了列表的函数和方法,并给出了解释。
(2)Python list 常用方法总结一文归结了列表的方法和操作(比如切片,拼接操作),解释的方法的用途。
(3)Python列表(list)的相关操作及方法一文归纳了列表的方法和操作。
(4)常用的列表方法有:index(), count(), pop(), remove(), append(), extend(), sort(), reverse()等。详细用法见上述3篇博文。 - 函数与方法的相同之处:
(1)函数由一组语句组成。调用函数就是执行这一组语句。
(2)方法本质上是函数,也是由一组语句组成。调用方法就是执行该组语句。
(3)有了函数或方法,我们无须重复书写函数/方法包含的语句,省事儿。 - 调用函数与调用方法的区别:
(1)调用函数的写法:函数名(参数),比如sum(nums)。参数个数可以为0。
(2)调用方法的写法:对象.方法(参数),比如nums.index(n_max)。参数个数可以为0。
(3)执行方法时,将访问对象内部数据。也就是说,方法是能够访问对象内部数据的函数。而常规的函数,则不能访问对象内部数据。
小结
- . Python语言有众多内置函数(就是自带的函数)。内置函数的清单见《Python内置函数》。
- 常用的列表方法有:index(), count(), pop(), remove(), append(), extend(), sort(), reverse()等。详细用法见上一节给出的3篇博文。
- 函数/方法由一组语句组成。调用函数/方法就是执行这一组语句。
- 方法是能够访问对象内部数据的函数。而常规的函数,则不能访问对象内部数据。