第K序元素查找
描述
在无排序的一个列表中查找第k个最大元素。
例如, 给定3,2,1,5,6,4和k=2,返回5。
注意: 假设k总是有效的,0 <= k <=数组的长度
输入格式
输入有两行:
1. 一个列表,表示一组数据。
2. 一个整数,表示要查找元素的第K序。
输出格式
输出为一个数值,表示第K序元素。
输入输出示例
输入 | 输出 | |
示例 1 | |
|
代码(sorted)
ls = eval(input()) k = int(input()) ls = sorted(ls,reverse=True) print(ls[k-1])
代码(sort)
ls = eval(input()) k = int(input()) ls.sort(reverse=True) print(ls[k-1])
eval()
描述
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
语法
以下是 eval() 方法的语法:
eval(expression[, globals[, locals]])
参数
- expression -- 表达式。
- globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
- locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
返回表达式计算结果。
Python3 sorted() 函数
描述
sorted() 函数对所有可迭代的对象进行排序操作。
语法
sorted 语法:
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable -- 可迭代对象。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。
Python3 List sort()方法
描述
sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
语法
sort()方法语法:
list.sort( key=None, reverse=False)
参数
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
返回值
该方法没有返回值,但是会对列表的对象进行排序。
sort 与 sorted 区别
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。