2016 - 2024

感恩一路有你

python迭代器 Python中list赋值时,L1=L与L1=L[:] 有什么区别?

浏览量:2389 时间:2021-03-16 01:49:07 作者:admin

Python中list赋值时,L1=L与L1=L[:] 有什么区别?

首先清楚,Python对象的三要素——Id,Type,Value。

  • Id:唯一标识一个对象

  • Type:标识对象的类型

  • Value:对象的值


然后,看下面代码样例:

执行结果:

发现l与l1实际是指向同一个对象,l2指向了新的对象(切片生成的新对象)。


同时需要二外注意,l1和l2是否相等呢?

  • l1 is l2 判断 l1 对象是否就是l2对象(通过id来判断)

  • l1 == l2 判断 l1 对象的值是否和 l2 对象的值相等(通过value来判断)

Python如何初始化列表?

在 Python中,假如我们预先知道列表的长度,若预先初始化该长度的列表,然后对每一个赋值,会比每次使用 list.append() 的效率更高。接下来介绍两种初始化列表的方式:


使用运算符初始化列表元素和长度


使用序列初始化列表元素和长度

如果想过滤掉序列中不需要的元素,可以用列表推导式,如下

python迭代器 python中[::-1] python切片详解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。