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完全相同

如果您覺得此文章對您有所幫助, 請幫我點贊哦~



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