Можно ли как-то сократить этот словарь?
dict = {2 : 2,
3 : 3,
4 : 4,
5 : 5,
6 : 6,
7 : 7,
8 : 8,
9 : 9,
10 : 10,
'J' : 10,
'Q' : 10,
'K' : 10,
'A' : 10}
Ответы (2 шт):
Автор решения: eri
→ Ссылка
Это не сокращение, но то что хочет ТС
{ v:v for v in range(2,11) } | { 'J' : 10, 'Q' : 10, 'K' : 10, 'A' : 10}
Автор решения: CrazyElf
→ Ссылка
Ну вот так можно, только это не короче. Хотя от повторов избавляет:
lr2_10 = list(range(2, 11))
dict_ = dict(zip(lr2_10 + list('JQKA'), lr2_10 + [10] * 4))
Или такой ещё вариант:
dict_ = {i if i < 11 else 'JQKA'[i-11]: min(i, 10) for i in range(2, 15)}