Python列表的操作處理

前言
列表是一種結構化、非標量的類型,是一個由多個字符構成的序列,不需要具有相同的類型。其中,列表值指的是它本身,而列表項指的是列表中的每個字符的值,表現爲[‘a’,’b’,’c’,’d’,’e’]。列表是“可變的”,它的值可以添加、刪除或改變。

一、遍歷列表

list = ['a','b','c','d','e']
print(list)  # ['a', 'b', 'c', 'd', 'e'] 

1、獲取單個值

列表中的每一個列表項都會有一個索引數字,從0開始,以此類推,不能上溢,可以通過該索引訪問該列表的每一個列表項,獲取單個值。如果是負數,則從後往前訪問該列表,-1爲訪問最後一個,-2爲訪問倒數第二個,以此類推。

print(list[0]) # a
print(list[1]) # b
print(list[-1]) # e

2、多重賦值技巧

   num=[1,2,3,4]  
   a,b,c,d = num    #即a=1,=2….類推   其中變量數目和列表長度必須嚴格相等

3、循環遍歷技巧

一個常見的Python 技巧,是在for 循環中使用range(len(someList)),迭代列表的每一個下標

for index in range(len(list1)):
    print(list1[index]) # 通過循環用下標遍歷列表元素
for elem in list1:
    print(elem) #  通過for循環遍歷列表元素
for index, elem in enumerate(list1):
    print(index, elem) # 同時獲得元素索引和值

4、多層列表

並且列表中能包含其他列表,有層次關係,可通過多重下標進行訪問。

index = [['a','b','c'],[1,2,3]]
print(index[0][0])  # a   第一個數字表示是哪個列表,第二個數字表示列表中的值

5、列表的切片操作

列表的切片可以獲取多個值,返回一個新的列表。其中有兩個數字,第一個是開始索引,第二個是結束索引,但是截取的新列表不包括它。可以省略其中的第一個下標或者第二個下標,省略第一個表示從0開始,省略第二個表示到列表的末尾

print(list[1:3]) # ['b', 'c']
print(list[0:3]) # ['a', 'b', 'c']

二、更新列表

1、使用索引可以改變列表中的值

list[0] = 'aaa'
print(list)  #  ['aaa', 'b', 'c', 'd', 'e']

2、列表的連接和複製

+號可以連接兩個列表,合成一個新列表。*號可以作用於一個列表和整數進行列表的複製

print(list+['1','2',3])  # ['a', 'b', 'c', 'd', 'e', '1', '2', 3]
list2 = list * 3
print(list2) # ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']

3、append()和insert()函數添加列表項

可以通過append()和insert()函數添加列表項,其中append()將值添加到列表末尾, insert(3,‘g’)可實現按位置添加值,第一個參數是新值索引,第二個參數是新值

list.append('fg')
print(list) # ['a', 'b', 'c', 'd', 'e', 'fg']
list.insert(3,'g')
print(list) # ['a', 'b', 'c', 'g', 'd', 'e']

三、刪除列表

1、del語句刪除

del語句可以刪除列表中的值,按照索引進行刪除,後面的值往前相應的移動

del list[0]
print(list) # ['b', 'c', 'd', 'e']

2、remove()方法刪除

使用remove()方法可以從列表中刪除值,先使用if判斷該值是否在列表中再刪除。如果該值出現多次,只有第一個列表項會被刪除

if 'a' in list:
	list.remove('a')
print(list)  # ['b', 'c', 'd', 'e']  

3、pop()方法刪除

使用pop()方法可以從列表指定位置刪除值

list.pop(1)
print(list) # ['a', 'c', 'd', 'e']

4、clear()方法清空

使用clear()方法可以清空列表中的值

list.clear()
print(list) #[]

四、其他操作

1、檢查成員

in和not in 操作符,可以判斷一個值是否在列表中。連接兩個值,一個是列表,一個是要判斷的值,返回值爲布爾值

print('a' in list) # True

2、獲取列表長度

len()函數可以取得列表的長度,即列表中值的個數

print(len(list))  # 5 

五、一些方法

index()方法可以在列表中查找值,返回值存在的下標,如果存在多個相同值,返回第一個下標

print(list.index('a'))  # 0

使用sort()方法將數值或字符串列表進行排序 如num.sort()
也可以使用num.sort(reverse=True)按逆序排序,能對既有數字又有字符串的列表進行排序,使用ASCII字符順序排序,大寫在小寫之前,若num.sort(key=str.lower)則按普通字典排序

使用sorted(list)函數可以對列表進行排序,返回列表排序後的列表,不會修改傳入的列表,

list = ['a','b','c','3','5','A','B']
print(sorted(list)) # ['3', '5', 'A', 'B', 'a', 'b', 'c']

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

print(list.count('a')) # 統計某個元素在列表中出現的次數

使用reverse()方法可以反向轉列表中的元素

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