Рубрики
Без рубрики

Отображать вложенное вложенное содержимое словаря, сортируемое с помощью ключа в Python

Учитывая вложенный словарь, как это: Dog \ _breeds = {‘Labrador Retriever’: {‘Life \ _span’: 14, ‘Мужчина … Tagged с Python, Dictionary, Sort.

Учитывая вложенный словарь, как это:

dog\_breeds = { 'Labrador Retriever': {'life\_span': 14, 'male\_weight': '36 Kg', 'female\_weight': '32 Kg'}, 'Beagle': {'life\_span': 15, 'male\_weight': '11 Kg', 'female\_weight': '10 Kg'}, 'German Shepherd': {'life\_span': 13, 'male\_weight': '40 Kg', 'female\_weight': '32 Kg'}, 'Jack Russell Terrier': {'life\_span': 16, 'male\_weight': '8 Kg', 'female\_weight': '8 Kg'}, 'Rottweiler': {'life\_span': 10, 'male\_weight': '60 Kg', 'female\_weight': '48 Kg'}}

Вот способ отобразить его контент, отсортированный по ключу:

[print(f'A {key} can live up to {value["life\_span"]} years. A male can weight up to {value["male\_weight"]} and a female up to {value["female\_weight"]}.') for (key, value) in sorted(dog\_breeds.items()) ]

Давайте разберем то, что происходит в вышеуказанном блоке:

print(f'Hello, {name}!')

print (f “) использует форматированные строки , так что вы можете использовать имена переменных в операторе печати. Если бы он напечатал бы «Привет, Марси!». Эта форматированная строка доступна в Python 3.6 и выше. Я использую это все время Потому что это выглядит очень похоже на JavaScript шаблоны литералы (Обратите внимание на спины в JS вместо одиночных кавычек):

Console.log(`Hello, {name}`)

Итак, в примере выше мы используем Ключи и Значения из словаря как переменные.

Далее, для петля:

for (key, value) in sorted(dog\_breeds.items())

Здесь мы сортируем словарь и деконструируем его ключ и значение из .Items () Анкет

Мы также используем Понимание списка (И именно поэтому все охватывается квадратными скобками, а для цикла приходит последний), но этот блок также может быть написан так:

for (key, value) in sorted(dog\_breeds.items()): print(f'A {key} can live up to {value["life\_span"]} years. A male can weight up to {value["male\_weight"]} and a female up to {value["female\_weight"]}.')

Окончательный результат будет выглядеть так:

A Beagle can live up to 15 years. A male can weight up to 11 Kg and a female up to 10 Kg.A German Shepherd can live up to 13 years. A male can weight up to 40 Kg and a female up to 32 Kg.A Jack Russell Terrier can live up to 16 years. A male can weight up to 8 Kg and a female up to 8 Kg.A Labrador Retriever can live up to 14 years. A male can weight up to 36 Kg and a female up to 32 Kg.A Rottweiler can live up to 10 years. A male can weight up to 60 Kg and a female up to 48 Kg.

отсортировано также может принять аргумент «обратный»:

for (key, value) in sorted(dog\_breeds.items(), reverse=True)

который изменит выход:

A Rottweiler can live up to 10 years. A male can weight up to 60 Kg and a female up to 48 Kg.A Labrador Retriever can live up to 14 years. A male can weight up to 36 Kg and a female up to 32 Kg.A Jack Russell Terrier can live up to 16 years. A male can weight up to 8 Kg and a female up to 8 Kg.A German Shepherd can live up to 13 years. A male can weight up to 40 Kg and a female up to 32 Kg.A Beagle can live up to 15 years. A male can weight up to 11 Kg and a female up to 10 Kg.

Пост Отображение вложенного содержимого словаря, сортированного по ключу в Python _ был первоначально опубликован в _ flaviabastos.ca

Оригинал: “https://dev.to/flaviabastos/display-nested-dictionary-content-sorted-by-key-in-python-314l”