我想知道我什么时候做的事情
a = "This could be a very large string..."
b = a[:10]
Run Code Online (Sandbox Code Playgroud)
创建一个新字符串或返回一个视图/迭代器
Blu*_*eft 43
Python逐个复制,这意味着每次切片时(除非非常简单的切片,例如a[:]
),它会将所有数据复制到一个新的字符串对象中.
根据其中一位开发人员的说法,这个选择是因为
[逐个引用]方法更复杂,更难实现,并可能导致意外行为.
例如:
a = "a long string with 500,000 chars ..." b = a[0] del a使用slice-as-copy设计,字符串
a
立即被释放.切片作为参考设计会将500kB字符串保留在内存中,尽管您只对第一个字符感兴趣.
显然,如果您绝对需要查看字符串,则可以使用memoryview
对象.
归档时间: |
|
查看次数: |
4350 次 |
最近记录: |