У меня есть такой список:
[('0023_RIGHT_CC', [(2574, 2798), (1324, 1545)]),
('0021_LEFT_CC', [(1180, 1420), (883, 1140)]),
('0106_LEFT_CC', [(911, 1135), (0, 86)]),
('0026_LEFT_CC', [(3738, 3968), (2144, 2352)]),
('0021_RIGHT_CC', [(2170, 2314), (1642, 1795)]),
('0106_LEFT_CC', [(1679, 1833), (964, 1102)]),
('0106_LEFT_CC', [(1091, 1198), (65, 160)]),
('0021_LEFT_CC', [(1180, 1420), (883, 1140)]),
('0021_RIGHT_CC', [(2170, 2314), (1642, 1795)]),
('0106_LEFT_CC', [(911, 1135), (0, 86)]),
('0106_LEFT_CC', [(1679, 1833), (964, 1102)]),
('0106_LEFT_CC', [(1091, 1198), (65, 160)]),
('0018_RIGHT_CC', [(1388, 1653), (1894, 2197)]),
('0023_RIGHT_CC', [(2574, 2798), (1324, 1545)]),
('0026_LEFT_CC', [(3738, 3968), (2144, 2352)])]
из этого я хочу создать словарь, подобный этому .. например;
0106_LEFT_CC: [[(911, 1135), (0, 86)], [(1091, 1198), (65, 160)], [(1679, 1833), (964, 1102)]]
Обратите внимание, что повторяющиеся элементы в value
из словаря следует избегать. Я сделал следующее:
from collections import defaultdict
d = defaultdict(list)
for key, value in data:
d[key].append(value)
и получил следующий результат.
defaultdict(list,
{'0023_RIGHT_CC': [[(2574, 2798), (1324, 1545)],
[(2574, 2798), (1324, 1545)]],
'0021_LEFT_CC': [[(1180, 1420), (883, 1140)],
[(1180, 1420), (883, 1140)]],
'0106_LEFT_CC': [[(911, 1135), (0, 86)],
[(1679, 1833), (964, 1102)],
[(1091, 1198), (65, 160)],
[(911, 1135), (0, 86)],
[(1679, 1833), (964, 1102)],
[(1091, 1198), (65, 160)]],
'0026_LEFT_CC': [[(3738, 3968), (2144, 2352)],
[(3738, 3968), (2144, 2352)]],
'0021_RIGHT_CC': [[(2170, 2314), (1642, 1795)],
[(2170, 2314), (1642, 1795)]],
'0018_RIGHT_CC': [[(1388, 1653), (1894, 2197)]]})
Но результат показывает, например, что в key
0106_LEFT_CC
некоторые values
повторяются. Как этого избежать.