リスト内の整数の「n」個のうち、「k」個の最小整数の値が見つかりません[重複]

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)

残りは完了しましたが、k個の最小の整数を見つけて出力する方法がわかりません。

入力:

10(n)3(k)

1 3 3 7 2 5 1 2 4 6(n個の数)

出力:

3

回答

2 Tuqay Dec 02 2020 at 05:51

重複する番号を持つことができるので、最初に以下を使用してそれらを取り除きますset()

no_duplicates = set(lst)

次に、それを並べ替えると、並べ替えられたリストが返されます。

sorted_list = sorted(no_duplicates)

次に、目的の数値を取得します(kintに変換されていないため、ここで変換します)。

kth_smallest = sorted_list[int(k)-1]