обоснование словаря как для ключей, так и для значений

#python #function #dictionary

#python #функция #словарь

Вопрос:

.

Код, который у меня есть до сих пор, — это просто:

 def aligned(s):
    for key, value in s.items():
        print(key, ": " , value)
 

Комментарии:

1. Это работает для этого конкретного dict, интересно, есть ли способ сделать это для любого dict? В любом случае спасибо!

Ответ №1:

Вы можете использовать rjust для отображения ключа и ljust для отображения значения, но сначала вам нужно будет вычислить максимальную длину для строк ключей и строк значений. Я пойду вот так:

 def aligned(s):
    max_key_length = max(map(len, s.keys()))
    max_value_length = max(map(lambda x: len(str(x)), s.values()))
    for key, value in s.items():
        print(key.rjust(max_key_length), str(value).ljust(max_value_length))