when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
在 leetcode 刷题时,有些题目会标注需要原地修改 list,而不产生新的内存占用,这里提一个骚操作
1 | L = [1, 2, 3] |
注: string 和 list 很像,但是这个用法就不适用,因为 string(区别于list)是不可变对象,不要试图用下标的方法去改变字符串的值
那如果要复制一个 list,会开辟新内存怎么办?
推荐 4 种方法:
extend
1 | L = [1, 2, 3] |
切片
1 | L = [1, 2, 3] |
拆包(*)
1 | L = [1, 2, 3] |
用乘法
1 | L = [1, 2, 3] |
其他效率不高方法,不推荐:
append,效率低下
1 | L = [1, 2, 3] |
列表推导
1 | L = [1, 2, 3] |
引入标准库中的模块
1 | from copy import deepcopy |
用 list 进行封装
1 | L = [1, 2, 3] |
be slow to promise and quick to perform.