Уведомления

Группа в Telegram: @pythonsu

#1 Июль 13, 2018 13:43:13

e398
Зарегистрирован: 2017-09-23
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Словарь со словарями

Добрый день
Нужна помощь
есть словарь со словарями

{ ‘pr1’: {
‘name’ = one,
‘rank’ = 2,
‘poz’ = 3 }
{'pr2' : {
‘name’ = two
‘rank’ = 3,
‘poz’ = 6 }
{'pr3' : {

Не могу понять, как все соединить в один список\словарь что бы получилось что-то типо

 one{rank = 1, poz = 3}

что бы в последствии можно было бы отсортировать все pr по “rank” например
Думаю нужно циклом for, но не хватает ума как это все написать

Офлайн

#2 Июль 13, 2018 13:50:48

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Словарь со словарями

Не поверите

 { 'pr1': {
   'name' : one,
   'rank' : 2,
   'poz' : 3 }
{'pr2' : {
   'name' : two
   'rank' : 3,
   'poz' : 6 }
}



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 13, 2018 14:07:10

e398
Зарегистрирован: 2017-09-23
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Словарь со словарями

JOHN_16
Не поверите
)))) ну почти

Но как мне сравнить все pr, коих много, что бы вывелось имя с самым большим “rank” или с самым малым ?

Офлайн

#4 Июль 13, 2018 16:50:58

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Словарь со словарями

Это только один из способов.

 >>> d = {
...     'pr1': {
...         'name' : 'one',
...         'rank' : 2,
...         'poz' : 3,
...     },
...         'pr2' : {
...         'name' : 'two',
...         'rank' : 3,
...         'poz' : 6,
...     }
... }
>>> 
>>> max_rank = max([(x['rank'], x['name']) for x in d.values()], key=lambda x: x[0])[1]
>>> max_rank
'two'
>>> min_rank = min([(x['rank'], x['name']) for x in d.values()], key=lambda x: x[0])[1]
>>> min_rank
'one'



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#5 Июль 13, 2018 17:35:01

e398
Зарегистрирован: 2017-09-23
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Словарь со словарями

Спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version