早年,我发现:
123000,12
那么,为什么? 当然,后来我知道这是因为内部列表的引用。 我不认为这是个好主意。
但是又一次:
# Python code
x = [[0]*5]*5 # IMO, it will be a 5*5 2D-Array-Like
x[2][2] = 2
# I considered x will be
# [
# [0,0,0,0,0],
# [0,0,0,0,0],
# [0,0,2,0,0],
# [0,0,0,0,0],
# [0,0,0,0,0]]
# But x will be
# [
# [0,0,2,0,0],
# [0,0,2,0,0],
# [0,0,2,0,0],
# [0,0,2,0,0],
# [0,0,2,0,0]]
IMO:
x [:]必须是x的自我。 x [:] [4]必须是x的最后一个成员。 所以x将是:
x[:][4] = 4
但事实并非如此,没有变化!
那么,为什么?
并且,Python中还有其他有线案例吗? 请在下面显示。
我只是想在Python中收集看起来有些奇怪的东西,而不仅仅是关于这个问题的问题。