Python列表append、extend、+、+=详解

Python列表append、extend、+、+=详解


append方法

原型:

append(self, object: Any) -> None

原型解析: 从原型可以看出, append方法接收一个任意类型的对象作为参数
行为(功能): 将object直接添加到列表实例对象

示例:

# >>> 表示交互输入
# <<< 表示交互输出
>>> lis = list()  # 创建空列表, 也可以通过[]创建
>>> lis
<<< []

>>> lis.append(1)  # 将整数型对象添加到列表
>>> lis
<<< [1]

>>> lis.append([2, 3, 4])  # 将列表对象添加到列表
>>> lis
<<< [1, [2, 3, 4]]

extend方法

原型:

extend(self, iterable: Iterable) -> None

原型解析: 从原型可以看出, extend方法接收一个可迭代对象作为参数
行为(功能): 将可迭代对象的每一个元素添加到列表实例对象

示例:

# >>> 表示交互输入
# <<< 表示交互输出
>>> lis = list()  # 创建空列表, 也可以通过[]创建
>>> list
<<< []

>>> lis.extend([1, 2, 3])
<<< [1, 2, 3]

>>> lis.extend(range(3))
<<< [1, 2, 3, 0, 1, 2]

+运算符

原型:

__add__(self, value: List) -> List  # Python的语法糖, 魔法方法, 可以理解为c++的运算符重载

原型解析: 从原型可以看出, +运算符接收一个列表实例对象, 并返回一个新的列表实例对象
行为(功能): 行为类似extend方法

与extend的区别:
行为区别: extend改变自身, +运算符不改变自身, 而是返回一个副本(新的实例)
参数区别: extend接收任意可迭代对象作为参数, +运算符仅可接收列表作为参数

示例:

# >>> 表示交互输入
# <<< 表示交互输出
>>> lis = list()  # 创建空列表, 也可以通过[]创建
>>> list
<<< []

>>> lis + [1, 2, 3]
<<< [1, 2, 3]  # 返回的副本
>>> lis  # 查看自身
<<< []

+=运算符

原型:

__iadd__(self, value: Iterable) -> None  # Python的语法糖, 魔法方法, 可以理解为c++的运算符重载

原型解析: 从原型可以看出, += 就是 extend方法的简写形式
行为(功能):extend完全相同

如果您觉得此文章对您有所帮助, 请帮我点赞哦~



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章