求数字字符串数组中,元素取整第k大的元素
import pytest
class TestHome(object):
@staticmethod
@pytest.mark.parametrize("k, li_str", [[2, ['68', '11', '2', '3', '23']], [3, ['68', '11', '2', '3', '23', '68']]])
def test_01(k, li_str) -> None:
"""
求数字字符串列表中,元素取整第k大的元素
如:
case1:
输入:li_str = ['68', '11', '2', '3', '23'] k=2
输出:‘23’
case2:
输入:li_str = ['68', '11', '2', '3', '23', '68'] k=3
输出:‘11’
:param k: 第几大的元素
:param li_str: 数字字符串列表
:return:
"""
li_int = []
for i in li_str:
li_int.append(int(i))
li_int.sort()
num = 1
for i in li_int[::-1]:
if i < li_int[-1]:
num += 1
if num == k:
print(str(i))
break