Конечно, это можно сделать с помощью цикла, но есть и другой способ:
d = {'Mark': 100.0, 'Peter': 50.0, 'John': 25.0}
sorted_items = sorted(d.items(), key=lambda e: e[1], reverse=True)
print('\n'.join('{} pays {}'.format(k, int(v)) for k, v in sorted_items))
Пояснение:
d.items()
вернет коллекцию ключей и значений d
, затем я отсортировал эти элементы по значению и сохранил в sorted_items
, '{} pays {}'.format(k, int(v))
создаст строку типа DictKey pays DictValue
, '\n'.join
объединит все строки в одну отдельную на \n
. Если вам не нужно сортировать элементы по значению, просто пропустите шаг sorted_items = ...
, но имейте в виду, что порядок элементов не гарантируется одинаковым:
d = {'Mark': 100.0, 'Peter': 50.0, 'John': 25.0}
print('\n'.join('{} pays {}'.format(k, int(v)) for k, v in d.items()))
Выход:
Марк платит 100
Питер платит 50
Джон платит 25