def b(item, k): for index, _ in enumerate(item): for index1, _ in enumerate(item): if item[index] > item[index1]: item[index], item[index1] = item[index1], item[index] return item[k]123456 方法二:数组前K个元素读入数组单独排序, 遍历剩余数组如果剩余数组中的元素有比第K个元素大的替换原元素
def a(item, k): _item = list(item)[:k] for index, _ in enumerate(_item): for index1, _ in enumerate(_item): if _item[index] > _item[index1]: _item[index], _item[index1] = _item[index1], _item[index] for i in item[k:]: if i < _item[-1]: continue for index, _ in enumerate(_item): if i > _item[index]: _item[index], i = i, _item[index] return _item[-1]12345678910111213 两种算法结构对比图: