Я пытаюсь инициализировать диктовку пустых списков, чтобы добавить к ним, однако это привело к некоторому странному поведению:
def solution(A):
d = dict.fromkeys(set(A), [])
for i in range(len(A)):
d[A[i]].append(i)
print(d)
input:
[3, 4, 3, 2, 3, -1, 3, 3]
output :
{2: [0, 1, 2, 3, 4, 5, 6, 7],
3: [0, 1, 2, 3, 4, 5, 6, 7],
4: [0, 1, 2, 3, 4, 5, 6, 7],
-1: [0, 1, 2, 3, 4, 5, 6, 7]}
dict.fromkeys
, кажется, инициализирует все списки как указатель на один и тот же список под колпаком, это то, что происходит? Как я могу знать, что это было бы поведение / почему это было бы поведение? Есть ли способ сказать переводчику не делать этого?