Python 列表的基本操作介紹

Python之Numpy庫基礎——矩陣運算

1、向List中添加元素的方法

1.1 Python append()方法添加元素

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

listname.append(obj)

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

1.2 Python extend()方法添加元素

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

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

listname.extend(obj)

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

示例:

l = ['Python', 'C++', 'Java'] # 追加元素 
l.extend('C') 
print(l)   
# 追加元組,元祖被拆分成多個元素
 t = ('JavaScript', 'C#', 'Go')
 l.extend(t) 
print(l)   
# 追加列表,列表也被拆分成多個元素 
l.extend(['Ruby', 'SQL']) print(l)   


運行結果:

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

1.3 Python insert()方法插入元素

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

 insert() 的語法格式如下:

listname.insert(index,obj)

其中,index 表示指定位置的索引值。insert() 會將 obj 插入到 listname 列表第 index 個元素的位置。 當插入列表或者元祖時,insert() 也會將它們視為一個整體,作為一個元素插入到列表中,這一點和 append() 是一樣的。

2、向List中刪除元素的方法

在 Python 列表中刪除元素主要分為以下 3 種場景:

  • 根據目標元素所在位置的索引進行刪除,可以使用 del 關鍵字或者 pop() 方法;
  • 根據元素本身的值進行刪除,可使用列表(list類型)提供的 remove() 方法;
  • 將列表中所有元素全部刪除,可使用列表(list類型)提供的 clear() 方法。

2.1 del:根據索引值刪除元素

del 可以刪除列表中的單個元素,格式為:

del listname[index]

其中,listname 表示列表名稱,index 表示元素的索引值。 del 也可以刪除中間一段連續的元素,

格式為:

del listname[start : end]

2.2 pop():根據索引值刪除元素

Python pop() 方法用來刪除列表中指定索引處的元素,

具體格式如下:

listname.pop(index)

其中,listname 表示列表名稱,index 表示索引值。如果不寫 index 參數,默認會刪除列表中的最後一個元素,類似於數據結構中的“出棧”操作。

大部分編程語言都會提供和 pop() 相對應的方法,就是 push() ,該方法用來將元素添加到列表的尾部,類似於數據結構中的“入棧”操作。

但是 Python 是個例外,Python 並沒有提供 push() 方法,因為完全可以使用 append() 來代替 push() 的功能。

2.3 remove():根據元素值進行刪除

除瞭 del 關鍵字,Python 還提供瞭 remove() 方法,該方法會根據元素本身的值來進行刪除操作。

需要註意的是,remove() 方法隻會刪除第一個和指定值相同的元素,而且必須保證該元素是存在的,否則會引發 ValueError 錯誤。

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次刪除36
nums.remove(36)
print(nums)
#第二次刪除36
nums.remove(36)
print(nums)
#刪除78
nums.remove(78)
print(nums)


運行結果:

[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
    File “C:\Users\mozhiyan\Desktop\demo.py”, line 9, in <module>
        nums.remove(78)
ValueError: list.remove(x): x not in list

最後一次刪除,因為 78 不存在導致報錯,所以我們在使用 remove() 刪除元素時最好提前判斷一下。

2.4 clear():刪除列表所有元素

Python clear() 用來刪除列表的所有元素,也即清空列表,

請看下面的代碼:

url = list("http://c.biancheng.net/python/")
url.clear()
print(url)


運行結果:

[]

3、list列表修改元素

3.1 修改單個元素

修改單個元素非常簡單,直接對元素賦值即可。

請看下面的例子:

nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26  #使用正數索引
nums[-3] = -66.2  #使用負數索引
print(nums)


運行結果:

[40, 36, -26, 2, -66.2, 100, 7]

使用索引得到列表元素後,通過=賦值就改變瞭元素的值。

3.2 修改一組元素

Python 支持通過切片語法給一組元素賦值。在進行這種操作時,如果不指定步長(step 參數),Python 就不要求新賦值的元素個數與原來的元素個數相同;這意味,該操作既可以為列表添加元素,也可以為列表刪除元素。

示例:

nums = [40, 36, 89, 2, 36, 100, 7]
#修改第 1~4 個元素的值(不包括第4個元素)
nums[1: 4] = [45.25, -77, -52.5]
print(nums)


運行結果:

[40, 45.25, -77, -52.5, 36, 100, 7]

4、list列表查找元素

4.1 index() 方法

index() 方法用來查找某個元素在列表中出現的位置(也就是索引),如果該元素不存在,則會導致 ValueError 錯誤,所以在查找之前最好使用 count() 方法判斷一下。

index() 的語法格式為:

listname.index(obj,start,end)

其中,listname 表示列表名稱,obj 表示要查找的元素,start 表示起始位置,end 表示結束位置。

4.2 count()方法

count() 方法用來統計某個元素在列表中出現的次數,

基本語法格式為:

listname.count(obj)

其中,listname 代表列表名,obj 表示要統計的元素。

如果 count() 返回 0,就表示列表中不存在該元素,所以 count() 也可以用來判斷列表中的某個元素是否存在。

5、總結

Python中列表是可修改類型,在程序運行過程中可以對列表的元素進行插入和刪除運算。但是元組卻是不可修改類型,要對其進行更改操作可以通過再構造一個新的元組替換舊的元組,來實現元素的插入和刪除。

到此這篇關於Python 列表的基本操作介紹的文章就介紹到這瞭,更多相關Python 列表內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: