reverse求助
q = w = list('qwer')q.reverse()
q == w
true
请问这里q和w是用的一个表吗?不是分别给q和w开辟一个空间吗 用“=”进行list赋值实际上是贴标签。两者是同一个id,你可看看id(q) 和id(w)
python细节之2、变量名与标签 变量的赋值与修改 python中变量名只是标签而已,可以多个标签指向同一块内存
new=old
意味着new和old这两个标签指向了同一块内存
所以你对new和old指向的数据进行改动,比如列表的pop,sort,reverse等操作都会对两者同时产生作用,因为他们修改了内存中的数据 Python采用的是基于值的内存管理方式,同一个值对不同变量进行赋值,这些变量都指向同一个实体。
>>> q = w = list('qwer')
>>> q
['q', 'w', 'e', 'r']
>>> w
['q', 'w', 'e', 'r']
>>> id(q)
36961928
>>> id(w)
36961928
>>> q.reverse()
>>> q
['r', 'e', 'w', 'q']
>>> w
['r', 'e', 'w', 'q']
如果我的回答正确,{:5_109:}给个最佳答案呗!{:5_101:} q 和 w 是指向同一个列表的,q 变了 w 也会跟着变。
页:
[1]