как использовать min во вложенном dict? - PullRequest
0 голосов
/ 21 февраля 2019

если у меня есть:

a = {
    (1,1): {'prev': '.', 'cur': '.', 'possible': ['2', '7', '8', '9']},
    (2,2): {'prev': '.', 'cur': '.', 'possible': ['1', '3', '8']},
    (3,3): {'prev': '.', 'cur': '.', 'possible': ['2', '7', '8', '9', '8']}
}

И я хочу получить ключ, который имеет самую короткую длину 'possible'.

Я написал:

b = min(a, key=lambda x: len(a[x]['possible']))

Это на самом деле работает.Есть ли другой способ, которым я могу написать?Я пытался выяснить, могу ли я использовать get() в dict методах.

Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

Я имею в виду, вы могли бы пойти:

b = min(a, key=lambda x: len(a.get(x).get('possible')))

Но ваше решение само по себе хорошо.

...