pyk*_*kam 0 python algorithm data-structures python-3.x
有人可以帮助我理解为什么s[:]=s[::-1]可以完美运行但s[]=s[::-1]不能吗?
另外,这是否会被视为就地操作(没有额外的内存)?
因为s[]在 Python 中是无效的语法。
相比之下,s[:]是包含整个列表的切片的表示法。你也可以写s = s[::-1]. 不同之处在于,这会更改名称s所指的对象,而会s[:] = …更改列表的内容(因此是就地的)。
s = [1, 2, 3]
id(s)
# 4401507776
s[:] = s[::-1]
id(s)
# 4401507776
s = s[::-1]
id(s)
# 4434730272
Run Code Online (Sandbox Code Playgroud)
(id为您提供对象的“身份”。相同的对象具有相同的 ID,不同的对象具有不同的 ID。)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |