Python列表操作:定義和訪問、添加和刪除、排序和反轉(zhuǎn)
一、定義列表和訪問元素
中間是用逗號隔開:
message = ['張三','李四','王五']
print(message)
print(message[0]) #訪問數(shù)組元素
輸出:
['張三','李四','王五']
張三
將索引指定為-1,可以訪問數(shù)組的最后一個元素,使用索引-2則訪問倒數(shù)第二個,以此類推:
message = ['張三','李四','王五']
print(message[-1])
print(message[-2])
print(message[-3])
輸出:
王五
李四
張三
這在不知道列表長度而需要訪問列表最后的元素時很有用。
二、添加、刪除元素
1.添加元素:append()和insert()
(1)append():在列表末尾添加元素
message = [] #創(chuàng)建一個空列表
message.append('張三')
message.append('李四')
message.append('王五')
print(message)
輸出:
['張三','李四','王五']
(2)insert():在列表任意索引位置添加元素
用法為列表名.insert(索引,元素)
message = ['張三','李四','王五'] #創(chuàng)建一個空列表
message.insert(1,'趙六') #所索引1的位置插入'趙六',而原來在索引1及其后邊的元素都被右移一個位置
print(message)
輸出:
['張三','趙六','李四','王五']
2.刪除元素:del()、pop()、remove()
(1)del():根據(jù)索引來刪除列表元素
用法為del 列表名[索引],會刪除所在索引位置的元素:
message = ['張三','趙六','李四','王五']
del message[1]
print(message)
輸出:
['張三','李四','王五']
(2)pop():刪除某個元素時返回其元素值
列表名.pop()會彈出列表的最后一個元素并返回該元素的值
message = ['張三','李四','王五']
deleted = message.pop() #彈出最后一個元素,并返回元素值'王五'給變量deleted
print(deleted) #輸出被刪除的變量
輸出:
王五
列表名.pop(索引)會彈出列表中索引位置的元素并返回該元素的值
message = ['張三','李四','王五']
deleted = message.pop(0) #彈出索引0位置的元素,并返回元素值'張三'給變量deleted
print(deleted) #輸出被刪除的變量
輸出:
張三
(3)remove():根據(jù)元素值來刪除元素
使用方法為列表名.remove(元素值)
message = ['張三','李四','王五']
deleted = message.remove('張三') #彈出索引0位置的元素,并返回元素值'張三'給變量deleted
print(message) #輸出被刪除的變量
輸出:
['李四','王五']
方法remove()只刪除第一個指定的值。如果要刪除的值可能在列表中出現(xiàn)多次,就需要使用循環(huán)來判斷是否刪除了所有這樣的值。
三、排序和反轉(zhuǎn)列表
1.排序:sort()、sorted()
(1)sort()
sort()對列表按字母表順序排序,用法為列表名.sort()
message = ['B','A','D','C']
message.sort() #字母表順序排序
print(message)
輸出:
['A','B','C','D']
也可以用sort(reverse=True)進行字母表倒序排序
message = ['B','A','D','C']
message.sort(reverse=True) #字母表倒序排序
print(message)
輸出:
['D','C','B','A']
(2)sorted():返回臨時排序
sorted(列表名)返回一個字母表順序排序版本的列表,但是并不改變列表本身的值:
message = ['B','A','D','C']
print(sorted(message)) #不sorted()改變列表本身順序
print(message)
輸出:
['A','B','C','D']
['B','A','D','C']
你也可以使用
sorted(列表名,reverse=True)來返回字母表倒序排序的版本。
2.反轉(zhuǎn)列表順序:reverse()
用列表名.reverse()可以反轉(zhuǎn)列表的原始順序。如果你想讓列表回到原樣反轉(zhuǎn)兩次就可以。
message = ['B','A','D','C']
message.reverse()
print(message)
輸出:
['C','D','A','B']