关于列表操作中切片和extend()方法的两个比较有趣的地方

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/rusi__/article/details/102750515

摘要

今天做leetcode算法题的时候,遇到了两个比较有意思的地方。特此记录。

code1

In [1]: a=[1,2,3]

In [2]: id(a[:].extend([4]))
Out[2]: 1892525200

In [3]: id(None)
Out[3]: 1892525200

code2

In [1]: a=[1,2,3,4,5,6,7]

In [2]: id(a)
Out[2]: 2168499537032

In [3]: id(a[:])
Out[3]: 2168499546056

In [4]: a[:]=[7,6,5]

In [5]: a
Out[5]: [7, 6, 5]

In [5]: id(a)
Out[5]: 2168499537032

总结

  • 看到没?内存地址有意思吧?我就是因为修改了内存地址,导致我本地代码测试没问题,一提交就错误。。
  • 有时候我们在做算法题的时候可不能追着时间复杂度越低越好去做了

猜你喜欢

转载自blog.csdn.net/rusi__/article/details/102750515