Não consigo encontrar o valor do menor inteiro “k” na quantidade “n” de inteiros em uma lista [duplicado]

Dec 02 2020
n = input('print n:')
k = input('print k')
a = input('print'+str(n)+'numbers:')
s = str(a)
Lst = s.split()
map_object = map(int, Lst)
lst = list(map_object)

Já fiz o resto e não sei como encontrar e imprimir o menor inteiro k.

entradas:

10 (n) 3 (k)

1 3 3 7 2 5 1 2 4 6 (quantidade n de números)

saídas:

3

Respostas

2 Tuqay Dec 02 2020 at 05:51

Você pode ter números duplicados, então primeiro vamos nos livrar deles usando set():

no_duplicates = set(lst)

Em seguida, nós classificamos, o que nos retornará uma lista classificada:

sorted_list = sorted(no_duplicates)

Em seguida, obtemos o número desejado (você não converteu kpara int, então faremos isso aqui):

kth_smallest = sorted_list[int(k)-1]