Python Новая строка символов для словаря - PullRequest
0 голосов
/ 06 ноября 2018

Напишите функцию с именем "print_keys", которая принимает хранилище значений ключей в качестве параметра со строками в качестве ключей и целыми числами в качестве значений. Функция печатает каждую клавишу ввода в отдельной строке. То есть он печатает все ключи хранилища значений ключей, разделенные символами новой строки

Я застрял на некоторое время над этой проблемой и, похоже, не могу ее решить. Я пытался сделать цикл for и объединить с этим, но он не работает так, как я ожидал. Очень нужна помощь с этим, спасибо.

это то, что у меня есть

def print_keys(dict):
    for key, value in sorted(dict.items()):
        print('{} - {}, {} - {}'.format(key, value[0], key, value[1]))

это ошибка, которая показывает ошибка на входе [{'шпион': 9, 'стимул': 8, 'строгий': 8}]: объект "int" не может быть подписан

обратите внимание, что у проблемы уже есть список, сгенерированный во всем, что мне нужно сделать, это то, что задает вопрос

1 Ответ

0 голосов
/ 06 ноября 2018

Ваш код предполагает, что каждый элемент словаря содержит список, по крайней мере, с двумя элементами - это то, что говорит мне печать с value[0] и value[1]. Тем не менее, в качестве примера ввода есть только одно целое число на элемент словаря. Вот почему вы получаете сообщение об ошибке «не подписано» - целое число 9 не является подпиской. Если бы запись для spy была [9 ,3], она бы работала нормально.

Удаление индекса и следующей пары из печати достаточно, чтобы он заработал.

my_dict = {'spy': 9, 'stimulate': 8, 'strict': 8}

def print_keys(dict_to_print):
    for key, value in sorted(dict_to_print.items()):
        print('{} - {}'.format(key, value))

print_keys(my_dict)

РЕДАКТИРОВАТЬ: отсортировано по значению

my_dict = {'band': -1, 'yard': 16, 'universe': 8, 'dock': -3, 'missionary': 2 }

def print_keys(dict_to_print):
    for key in sorted(dict_to_print, key=dict_to_print.get):
        value = dict_to_print[key]
        print('{} - {}'.format(key, value))

print_keys(my_dict)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...