Попробуйте:
#lets say
dic={'A':2,'B':1, 'C':5}
#sorting the dict
dic = {k: v for k, v in sorted(dic.items(), key=lambda item: item[1])}
Теперь, когда словарь отсортирован, выполните его итерацию. Чтобы найти K наименьших значений:
k = K
for i in range(k):
print([k[0] for k in dic.items()][i])
Следовательно, в скором времени:
k = K
for i in range(k):
print([k[0] for k in {k: v for k, v in sorted(dic.items(), key=lambda item: item[1])}.items()][i])
в виде одной строки:
k = K
dic={'A':2,'B':1, 'C':5}
print('\n'.join([k[0] for k in {k: v for k, v in sorted(dic.items(), key=lambda item: item[1])}.items()][i] for i in range(k)))