python中列表添加元素的幾種方式(+、append()、extend())
1、使用+加號
+加號是將兩個list列表相加,返回一個新的列表對象,會消耗額外的內(nèi)存。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c)
輸出:
[1, 2, 3, 4, 5, 6]
Process finished with exit code 0
2、使用append()方法
append()方法在列表的末尾添加新的對象,該方法無返回值,但是會修改原來的列表。
語法:list.append(obj)
參數(shù):obj – 添加到列表末尾的對象。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
a = [1, 2, 3]
b = [4, 5, 6]
a.append(b)
print(a)
輸出:
[1, 2, 3, [4, 5, 6]]
Process finished with exit code 0
3、使用extend()方法
extend()方法用新列表擴展原來的列表,會把對象迭代添加到列表后面,只支持可迭代對象的數(shù)據(jù)。(可迭代對象: 能用for循環(huán)進行迭代的對象就是可迭代對象, 比如:字符串,列表,元組,字典,集合等等)
該方法沒有返回值,但會在已存在的列表中添加新的列表內(nèi)容。
語法:list.extend(seq)
參數(shù):seq – 元素列表。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
輸出:
[1, 2, 3, 4, 5, 6]
Process finished with exit code 0
4、難點
#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
a = [1, 2, 3]
c = []
c.append(a)
print(c)
a.append(4)
print(c)
輸出:
[[1, 2, 3]]
[[1, 2, 3, 4]]
Process finished with exit code 0
可以看到改變a列表以后,c列表也發(fā)生了改變。
出現(xiàn)這種現(xiàn)象的原因:因為list列表使用append()方法追加時,實際上是淺拷貝造成的。
解決方法:可以使用copy.deepcopy()進行深拷貝。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import copy
if __name__ == '__main__':
a = [1, 2, 3]
c = []
c.append(copy.deepcopy(a))
print(c)
a.append(4)
print(c)
輸出:
[[1, 2, 3]]
[[1, 2, 3]]Process finished with exit code 0
到此這篇關于python中列表添加元素的幾種方式(+、append()、extend())的文章就介紹到這了,更多相關python 列表添加元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python字典推導式將cookie字符串轉(zhuǎn)化為字典解析
這篇文章主要介紹了Python字典推導式將cookie字符串轉(zhuǎn)化為字典解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
python實現(xiàn)人性化顯示金額數(shù)字實例詳解
在本篇內(nèi)容里小編給大家整理了關于python實現(xiàn)人性化顯示金額數(shù)字實例內(nèi)容,需要的朋友們可以參考下。2020-09-09
torch.optim優(yōu)化算法理解之optim.Adam()解讀
這篇文章主要介紹了torch.optim優(yōu)化算法理解之optim.Adam()解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11

