У меня есть два списка:
a = [0, 0, 0, 1, 1, 1, 1, 1, .... 99999]
b = [24, 53, 88, 32, 45, 24, 88, 53, ...... 1]
Я хочу объединить эти два списка в словарь вроде:
{
0: [24, 53, 88],
1: [32, 45, 24, 88, 53],
......
99999: [1]
}
В решении может использоваться цикл for
, который выглядит не очень хорошо и элегантно, например:
d = {}
unique_a = list(set(list_a))
for i in range(len(list_a)):
if list_a[i] in d.keys:
d[list_a[i]].append(list_b[i])
else:
d[list_a] = [list_b[i]]
Хотя это действительно работает, оно неэффективно и занимает слишком много времени, когда список чрезвычайно велик. Я хочу узнать более элегантные способы построения такого словаря?
Спасибо заранее!