上兩篇介紹了Python的基礎語法、數值型別、運算以及字串操作,今天會總結一下串列操作,串列的增、刪、改、查等操作,
Python串列操作
一、表達方式
先簡單說一下串列的表達方式
- 用
[]定義,資料之間使用,分隔(可以是任何型別的資料) - 有序、資料可重復
- 通過下標索引,從0開始
- 使用最頻繁的資料型別
二、空串列和非空串列
- 空串列:串列里什么都沒有,舉例
student = [] - 非空串列:即串列里有字串、數字等,舉例
now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
三、增刪改查
3.1 新增
3.1.1 append
- 格式:串列.append(值),比如
now_stu.append('吃貨') - 每次只能新增一個,并且是新增到串列末尾
如下所示:
now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stu.append('吃貨')
print(now_stu)
運行結果:
[1, '珊珊', 'xiaoming', [1, 2, 3], True, '吃貨']
3.1.2 insert
insert是在串列某個位置插入某個資料
比如:將‘吃貨’插入到串列中下標為1的位置
now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stu.insert(1,'吃貨')
print(now_stu)
運行結果:
[1, '吃貨', '珊珊', 'xiaoming', [1, 2, 3], True]
3.1.3 extend
extend是指將串列2的成員,追加到串列1的成員當中,格式是串列1.extend(串列2)
如下所示:是將串列now_stus的資料追加到now_stu中
now_stu = [1,'珊珊','xiaoming',[1,2,3],True]
now_stus = ['吃貨',18]
now_stu.extend(now_stus)
print(now_stu)
運行結果:
[1, '珊珊', 'xiaoming', [1, 2, 3], True, '吃貨', 18]
3.2 洗掉
3.2.1 del
格式:del 串列[索引] ,是指洗掉串列中某個索引的資料
如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
del now_stu[-1]
print(now_stu)
運行結果:
[123, '珊珊', 'xiaoming', [1, 2, 3]]
3.2.2 remove
格式:串列.remove(資料) ,是指洗掉串列當中第一次出現的指定資料
如下所示:串列中存在兩個相同的資料 123,用remove后洗掉了第一次出現的 123
now_stu = [123,'珊珊','xiaoming',[1,2,3],True,123]
now_stu.remove(123)
print(now_stu)
運行結果:
['珊珊', 'xiaoming', [1, 2, 3], True, 123]
3.2.3 pop
格式:串列.pop( ),是指洗掉串列末尾資料
如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
now_stu.pop()
print(now_stu)
運行結果:
[123, '珊珊', 'xiaoming', [1, 2, 3]]
3.2.4 clear
格式:串列.clear( ),是指清空串列
如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
now_stu.clear()
print(now_stu)
運行結果:
[]
3.3 修改
格式:串列[index] = new值
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
index = now_stu.index(123)
now_stu[index] = 'xiaoxiao'
print(now_stu)
運行結果:
['xiaoxiao', '珊珊', 'xiaoming', [1, 2, 3], True]
3.4 查詢
- 串列資料獲取-字串切片
例如:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
print(now_stu[-2][1])
print(now_stu[:-3])
運行結果:
2
[123, '珊珊']
- 讀取資料
(1) 通過索引獲取,格式:串列[索引]
例如:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True]
print(now_stu[3])
運行結果:
[1, 2, 3]
(2)獲取資料第一次出現的索引,格式:串列.index(資料)
例如:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(now_stu.index('xiaoming'))
運行結果:
2
四、獲取長度
獲取串列長度 ,格式:len(串列)
如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(len(now_stu))
運行結果:
6
注:串列長度是指串列中包含有幾條資料,從1開始數,而不是下標0開始
五、成員運算子
- 資料 in 串列,表示資料是串列的成員之一,結果為True/False,格式:
成員 in 集體(串列/字串) - 資料 not in 串列,表示資料不是串列的成員之一,結果也為True/False,格式:
成員 not in 集體(串列/字串)
如下所示:
now_stu = [123,'珊珊','xiaoming',[1,2,3],True,'xiaoming']
print(12 in now_stu)
print('wo' not in now_stu)
運行結果:
False
True
六、串列排序與反轉
6.1 升序
格式:串列.sort() 升序排列,直接串列進行修改
排列的依據是ASCII碼值
如下所示:
now_stu = ['珊珊','xiaoming','wo','123']
now_stu.sort()
print(now_stu)
運行結果:
['123', 'wo', 'xiaoming', '珊珊']
6.2 降序
格式:串列.sort(reverse = True) ,降序排列
如下所示:
now_stu = ['珊珊','xiaoming','wo','123']
now_stu.sort(reverse=True)
print(now_stu)
運行結果:
['珊珊', 'xiaoming', 'wo', '123']
6.3 反轉/倒序
格式:串列.reverse() ,串列的反轉/倒序
如下所示:
# 方法一 直接讓原串列反轉
now_stu = ['珊珊','xiaoming','wo','123']
now_stu.reverse()
print(now_stu)
# 方法二 原串列不變,身生成新的串列和原串列順序相反
now_stu = ['珊珊','xiaoming','wo','123']
new_stu = now_stu[::-1]
print(new_stu)
運行結果:
['123', 'wo', 'xiaoming', '珊珊']
['123', 'wo', 'xiaoming', '珊珊']
6.4 sorted
系統自帶的,不會對串列本身做修改,生成一個新的串列,格式:sorted()
如下所示:
now_stu = ['珊珊','xiaoming','wo','123']
new_stu = sorted(now_stu,reverse=True)
print(new_stu)
運行結果:
['珊珊', 'xiaoming', 'wo', '123']
七、總結
串列操作的內容就記錄到這里了,下一篇會講到字典,給大家附上一張圖簡單總結一下,

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/195782.html
標籤:其他
