我正在尝试初始化空列表的字典以附加到它们,但是这导致了一些奇怪的行为:
def solution(A):
d = dict.fromkeys(set(A), [])
for i in range(len(A)):
d[A[i]].append(i)
print(d)
输入:
[3, 4, 3, 2, 3, -1, 3, 3]
输出:
{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似乎将所有列表初始化为指向同一列表的指针,这是发生了什么吗?我怎么知道这将是行为/为什么会是行为?有没有办法告诉口译员不要这样做?
肥皂起泡泡
繁花不似锦
子衿沉夜
相关分类