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完全相同
如果您覺得此文章對您有所幫助, 請幫我點贊哦~