Je ne trouve pas la valeur du plus petit entier "k" dans "n" nombre d'entiers dans une liste [dupliquer]

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'ai fait le reste et je ne sais pas comment trouver et imprimer le plus petit entier k.

contributions:

10 (n) 3 (k)

1 3 3 7 2 5 1 2 4 6 (n nombre de nombres)

les sorties:

3

Réponses

2 Tuqay Dec 02 2020 at 05:51

Vous pouvez avoir des numéros en double, alors nous nous en débarrassons d'abord en utilisant set():

no_duplicates = set(lst)

Ensuite, nous le trions, ce qui nous retournera une liste triée:

sorted_list = sorted(no_duplicates)

Ensuite, nous obtenons le nombre souhaité (vous ne l'avez pas converti ken int, nous le ferons donc ici):

kth_smallest = sorted_list[int(k)-1]