【发布时间】:2020-09-09 13:30:00
【问题描述】:
def to_un(g):
un = []
for v in g:
un.append(v)
print(g)
for v in range(len(un)):
for u in un[v]:
if v not in un[u]:
un[u].append(v)
print(g)
print(g == un)
print(g is un)
def main():
a = [[1], []]
to_un(a)
if __name__ == "__main__":
main()
结果:
[[1], []]
[[1], [0]]
True
False
我预计 g 的值不应该改变,但它实际上改变了。 我不知道这段代码发生了什么副作用。
【问题讨论】:
标签: python list side-effects