Elimdeki listenin içinde bulunan listeleri birinci elemanlarına göre kategorize etmek istiyordum ve yaptım da. Ama biraz düzensiz ve saçma geldi yazdığım kod. Bunu nasıl daha kısa veya düzenli yazabilirim.
l = [(1, 49, 0), (0, 29, 205), (2, 253, 23), (1, 188, 46), (2, 164, 199)]
"""
İSTENEN ÇIKTI :
[
(0, [(0, 29, 205)]),
(1, [(1, 49, 0), (1, 188, 46)]),
(2, [(2, 253, 23), (2, 164, 199)])
]
"""
categorized = {i : [] for i in {j[0] for j in l}}
for i in l:
categorized[i[0]].append(i)
categorized = list(categorized.items())
"""
ÇIKTI :
[
(0, [(0, 29, 205)]),
(1, [(1, 49, 0), (1, 188, 46)]),
(2, [(2, 253, 23), (2, 164, 199)]),
]
(PROGRAM DOĞRU ÇALIŞIYOR)
"""