小编Dri*_*zzt的帖子

切片运算符何时在Python中创建浅表副本?

我想请教您关于Python中切片运算符的行为的帮助.

  1. 一方面,我们知道 L[:] 创建列表的浅表副本L.为了验证它,可以打印 id(L), id(L[:]) 并注意它们是不同的.
  2. 另一方面,我们知道del L[:] 从原始对象中 删除引用.它使原始列表为空 - 而不是它的浅层副本.当然我同意创建一个浅拷贝,然后删除它的引用,没有多大意义,所以我理解这里我们想要在原始列表上操作.

是否有任何规则说当切片运算符创建一个浅拷贝而不是什么时候?如何在不手动测试的情况下了解它?

我搜索了这个并找到了以下主题:

但不幸的是他们没有回答我的问题,至少我没有看到它.

python

5
推荐指数
1
解决办法
266
查看次数

为什么Python解释器使用repr()来打印表达式?

为什么Python解释器用于repr()打印表达式?

例如:

>>> S = "First line.\nSecond line."
>>> S
'First line.\nSecond line.'
Run Code Online (Sandbox Code Playgroud)

当然我可以str()通过print语句触发:

>>> print S
First line.
Second line.
Run Code Online (Sandbox Code Playgroud)

但是为什么str()在交互模式下不会默认触发?在许多方面,它似乎是一个更好的选择.

python

1
推荐指数
1
解决办法
149
查看次数

标签 统计

python ×2