創建串列
創建串列可以用中括號
1 list_a = [1,2,3,'dsa',10,2,4,5]
訪問串列值
可以根據索引下標訪問元素,注意索引從0開始
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 print(list_a[0]) 3 print(list_a[2]) 4 print(list_a[1:3]) 5 print(list_a[1:8:2]) 6 7 結果: 8 1 9 3 10 [2, 3] 11 [2, 'dsa', 2, 5]
更新串列
更新串列有三種方法,append(x),extend([x,y,z]),insert(index,x)
1.向原串列末尾追加元素
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 list_a.append(10) 3 print(list_a) 4 5 結果: 6 [1, 2, 3, 'dsa', 10, 2, 4, 5, 10]
2.向原串列追加一個串列
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 list_a.extend([9,10]) 3 print(list_a) 4 5 結果: 6 [1, 2, 3, 'dsa', 10, 2, 4, 5, 9, 10]
3.向原串列插入元素,可以指定位置
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 list_a.insert(1, 4) 3 print(list_a) 4 5 結果: 6 [1, 4, 2, 3, 'dsa', 10, 2, 4, 5]
洗掉串列元素
洗掉串列元素有三種方法,del list[index]陳述句,remove(x),pop(index)
1.del 陳述句可以洗掉指定索引位置的元素
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 del list_a[2] 3 print(list_a) 4 5 結果: 6 [1, 2, 'dsa', 10, 2, 4, 5]
2.remove()洗掉從左找到的第一個指定的元素
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 list_a.remove(10) 3 print(list_a) 4 5 結果: 6 [1, 2, 3, 'dsa', 2, 4, 5]
3.pop()洗掉指定索引位置的元素,并回傳該元素
1 list_a = [1, 2, 3, 'dsa', 10, 2, 4, 5] 2 a = list_a.pop(3) 3 print(list_a) 4 print(a) 5 6 結果: 7 [1, 2, 3, 10, 2, 4, 5] 8 dsa
串列運算子
+用于組合串列,*用于重復串列
1 list_a = [1, 2, 3, 'dsa', 2, 4, 5] 2 list_b = [2, 3, 65, 111] 3 list_c = list_a + list_b 4 print(list_c) 5 6 list_d = list_c*2 7 print(list_d) 8 9 結果: 10 [1, 2, 3, 'dsa', 2, 4, 5, 2, 3, 65, 111] 11 [1, 2, 3, 'dsa', 2, 4, 5, 2, 3, 65, 111, 1, 2, 3, 'dsa', 2, 4, 5, 2, 3, 65, 111]
串列排序
串列排序有三種,永久性排序sort(),臨時性排序sorted(list),反轉排序reverse()
1.永久性排序sort(),就是這個串列的順序就變了
1 list_a = [10, 21, 3, 2, 4, 5] 2 list_a.sort() 3 print(list_a) 4 5 結果: 6 [2, 3, 4, 5, 10, 21]
2.臨時性排序sorted(list),引數是串列,賦值給新串列,原串列不變
1 list_a = [10, 21, 3, 2, 4, 5] 2 list_b = sorted(list_a) 3 print('list_a: %s' % list_a) 4 print('list_b: %s' % list_b) 5 6 結果: 7 list_a: [10, 21, 3, 2, 4, 5] 8 list_b: [2, 3, 4, 5, 10, 21]
3.反轉排序reverse(),串列排序反轉
1 list_a = [10, 21, 3, 2, 4, 5] 2 list_a.reverse() 3 print('list_a: %s' % list_a) 4 5 結果: 6 list_a: [5, 4, 2, 3, 21, 10]
串列函式
len(list):回傳串列元素個數或者叫長度
max(list):回傳串列元素最大值
min(list):回傳串列元素最小值
set(list):串列去重,回傳的為一個集合,需再轉換為串列
1 list_a = [10, 21, 3, 2, 4, 5, 2, 5, 2, 4, 6, 5] 2 a = len(list_a) 3 b = max(list_a) 4 c = min(list_a) 5 d = list(set(list_a)) 6 print('串列長度:%s' % a) 7 print('串列元素最大值:%s' % b) 8 print('串列元素最小值:%s' % c) 9 print('串列去重后為:%s' % d) 10 11 結果: 12 串列長度:12 13 串列元素最大值:21 14 串列元素最小值:2 15 串列去重后為:[2, 3, 4, 5, 6, 10, 21]
串列切片
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 2 print(list_a[1:]) # 索引1到最后 3 print(list_a[:3]) # 開始到索引3 4 print(list_a[1:7:2]) # 索引1到6,每隔2個取一個值 5 print(list_a[:-1]) # 開始到倒數第二個 6 print(list_a[::-1]) # 等價于reverse函式反轉效果 7 8 結果: 9 [21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 10 [10, 21, 3] 11 [21, 2, 5] 12 [10, 21, 3, 2, 4, 5, 11, 43, 5, 7] 13 [98, 7, 5, 43, 11, 5, 4, 2, 3, 21, 10]
串列拷貝
串列深拷貝:list_b = list_a[:],對list_b操作不會影響list_a
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 2 list_b = list_a[:] 3 list_b.append(15) 4 print('list_a: %s' % list_a) 5 print('list_b:%s' % list_b) 6 7 結果: 8 list_a: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 9 list_b: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15]
串列淺拷貝:list_b = list_a,對list_b操作會影響list_a
1 list_a = [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98] 2 list_b = list_a 3 list_b.append(15) 4 print('list_a: %s' % list_a) 5 print('list_b:%s' % list_b) 6 7 結果: 8 list_a: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15] 9 list_b: [10, 21, 3, 2, 4, 5, 11, 43, 5, 7, 98, 15]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/168043.html
標籤:Python
上一篇:laravel8更新之路由調整
