У меня есть список, преобразованный из dict с 3-х функциональным ключом, например,
{('consumer0', 'consumer0', 0): 0}
Чтобы отсортировать список, я сделал
time = np.arange(1)
agent = ['consumer0', 'consumer10', 'consumer11', 'consumer20',
'consumer1', 'consumer2', 'consumer3', 'consumer4',
'consumer5', 'consumer6', 'consumer7', 'consumer8',
'consumer9']
P_nm = {}
for t in time:
for p1 in agents:
for p2 in agents:
P_nm[p1, p2, t] = t
P_nm = [(k, v) for k, v in P_nm.items()]
P_nm.sort(key=lambda k: (k[0][2], k[0][0], k[0][1]))
Я получил результат как:
[(('consumer0', 'consumer0', 0), 0),
(('consumer0', 'consumer1', 0), 0),
(('consumer0', 'consumer10', 0), 0),
(('consumer0', 'consumer11', 0), 0),
(('consumer0', 'consumer2', 0), 0),
(('consumer0', 'consumer20', 0), 0),
(('consumer0', 'consumer3', 0), 0),
...]
Как мне отсортировать список и получить результат как
[(('consumer0', 'consumer0', 0), 0),
(('consumer0', 'consumer1', 0), 0),
(('consumer0', 'consumer2', 0), 0),
(('consumer0', 'consumer3', 0), 0),
(('consumer0', 'consumer4', 0), 0),
...
(('consumer0', 'consumer10', 0), 0),
(('consumer0', 'consumer11', 0), 0)
...
]