Как положить в кортеж? - PullRequest
       13

Как положить в кортеж?

0 голосов
/ 10 октября 2019

У меня есть словарь:

dict1 = {
  1: {'red': 5, 'blue': 7}, 
  2: {'red': 2, 'blue': 6, 'yellow': 9}, 
  3: {'red': 8, 'yellow': 4}
}

Как мне напечатать:

((1,2)(2,3)(3,2))

с ключами, являющимися первыми ключевыми терминами в dict1, и значением является количество цветовв каждом?

Ответы [ 2 ]

2 голосов
/ 10 октября 2019

Вы можете использовать zip следующим образом:

>>> tuple(zip(dict1.keys(), map(len, dict1.values())))
((1, 2), (2, 3), (3, 2))
2 голосов
/ 10 октября 2019

Вам необходимо собрать ключ и длину значения (словаря) в кортеж кортежей:

>>> tuple((k, len(v)) for k, v in dict1.items())
((1, 2), (2, 3), (3, 2))

Вы можете перебрать ключ и значение словаря с помощью dict.items()

...