Python list列表添加元素的3種方法


實際開發中,經常需要對 Python 列表進行更新,包括向列表中添加元素、修改表中元素以及刪除元素。本節先來學習如何向列表中添加元素。

《Python序列》一節告訴我們,使用+運算符可以將多個序列連接起來;列表是序列的一種,所以也可以使用+進行連接,這樣就相當於在第一個列表的末尾添加了另一個列表。無鐵芯直線電機

請看下面的演示:

  1. language = ["Python", "C++", "Java"]
  2. birthday = [1991, 1998, 1995]
  3. info = language + birthday
  4. print("language =", language)
  5. print("birthday =", birthday)
  6. print("info =", info)

運行結果:

language = ['Python', 'C++', 'Java']
birthday = [1991, 1998, 1995]
info = ['Python', 'C++', 'Java', 1991, 1998, 1995]

從運行結果可以發現,使用+會生成一個新的列表,原有的列表不會被改變。

+更多的是用來拼接列表,而且執行效率並不高,如果想在列表中插入元素,應該使用下面幾個專門的方法。

Python append()方法添加元素

append() 方法用於在列表的末尾追加元素,該方法的語法格式如下:

listname.append(obj)

其中,listname 表示要添加元素的列表;obj 表示到添加到列表末尾的數據,它可以是單個元素,也可以是列表、元組等。

請看下面的演示:

  1. l = ['Python', 'C++', 'Java']
  2. #追加元素
  3. l.append('PHP')
  4. print(l)
  5. #追加元組,整個元組被當成一個元素
  6. t = ('JavaScript', 'C#', 'Go')
  7. l.append(t)
  8. print(l)
  9. #追加列表,整個列表也被當成一個元素
  10. l.append(['Ruby', 'SQL'])
  11. print(l)

運行結果為:

['Python', 'C++', 'Java', 'PHP']
['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go')]
['Python', 'C++', 'Java', 'PHP', ('JavaScript', 'C#', 'Go'), ['Ruby', 'SQL']]

可以看到,當給 append() 方法傳遞列表或者元組時,此方法會將它們視為一個整體,作為一個元素添加到列表中,從而形成包含列表和元組的新列表。

Python extend()方法添加元素

extend() 和 append() 的不同之處在於:extend() 不會把列表或者元祖視為一個整體,而是把它們包含的元素逐個添加到列表中。

extend() 方法的語法格式如下:

listname.extend(obj)

其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的數據,它可以是單個元素,也可以是列表、元組等。

請看下面的演示:

  1. l = ['Python', 'C++', 'Java']
  2. #追加元素
  3. l.extend('C')
  4. print(l)
  5. #追加元組,元祖被拆分成多個元素
  6. t = ('JavaScript', 'C#', 'Go')
  7. l.extend(t)
  8. print(l)
  9. #追加列表,列表也被拆分成多個元素
  10. l.extend(['Ruby', 'SQL'])
  11. print(l)

運行結果:

['Python', 'C++', 'Java', 'C']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go']
['Python', 'C++', 'Java', 'C', 'JavaScript', 'C#', 'Go', 'Ruby', 'SQL']

Python insert()方法插入元素

append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中間某個位置插入元素,那么可以使用 insert() 方法。

insert() 的語法格式如下:

listname.insert(index , obj)

其中,index 表示指定位置的索引值。insert() 會將 obj 插入到 listname 列表第 index 個元素的位置。

當插入列表或者元祖時,insert() 也會將它們視為一個整體,作為一個元素插入到列表中,這一點和 append() 是一樣的。

請看下面的演示代碼:

  1. l = ['Python', 'C++', 'Java']
  2. #插入元素
  3. l.insert(1, 'C')
  4. print(l)
  5. #插入元組,整個元祖被當成一個元素
  6. t = ('C#', 'Go')
  7. l.insert(2, t)
  8. print(l)
  9. #插入列表,整個列表被當成一個元素
  10. l.insert(3, ['Ruby', 'SQL'])
  11. print(l)
  12. #插入字符串,整個字符串被當成一個元素
  13. l.insert(0, "http://c.biancheng.net")
  14. print(l)

輸出結果為:

['Python', 'C', 'C++', 'Java']
['Python', 'C', ('C#', 'Go'), 'C++', 'Java']
['Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']
['http://c.biancheng.net', 'Python', 'C', ('C#', 'Go'), ['Ruby', 'SQL'], 'C++', 'Java']

提示,insert() 主要用來在列表的中間位置插入元素,如果你僅僅希望在列表的末尾追加元素,那我更建議使用 append() 和 extend()。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM