1. 程式人生 > >python資料型別之列表(list)和其常用方法

python資料型別之列表(list)和其常用方法

列表是python常用資料型別之一,是可變的,可由n = []建立,也可由n = list()建立,第一種方法更常用。

 

常用方法總結:

 

# 建立方法  n = [] 或者 n = list()

# index 查詢索引值
li = ['Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0]
print(li.index(True))  # 10
print(li.index(1))  # 10 1也可以代表True
print(li.index(False))  # 12
print
(li.index(0)) # 12 0也可以代表False print(li.index(8)) # 5 從左往右找不到第一個匹配的就返回 # 切片,包含開頭,但是不包含結尾,顧頭不顧尾。 print(li[1:3]) # ['Mark', 'John'] # 不能從右往左且,只能從左往右切 print(li[-5:-1]) # [6, True, 1, False] # 如果想要最後一個,那麼直接不寫就行 print(li[-5:]) # [6, True, 1, False, 0] # 只要前面的幾個的,冒號加想要的數字就行 print(li[:5]) # ['Edward', 'Mark', 'John', 5435, 123]
# 步長,再在後面加一個冒號,然後寫想要按幾步走,2步走就是跳一個,以此類推。 print(li[:5:3]) # ['Edward', 'John', 123] print(li[::2]) # 跳一步走,從頭走到尾 # 增加 li.append('peiqi') # 只加到最後 print(li) # 插入 li.insert(0, 'abc') # 插入是加到前面 print(li) # ['abc', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi'] # 修改 li[0] = '
Mark' print(li) # ['Mark', 'Edward', 'Mark', 'John', 5435, 123, 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi'] # 修改多個值 li[3:6] = 'Li Lei' print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0, 'peiqi'] # 這個方法會顯示多出來的,很少用 # 刪除 li.pop() # 刪除最後一個 print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 8, 6, 6, True, 1, False, 0] li.remove(8) # 指定刪除,從左開始找,找到第一個後刪除,但只能刪除一個。 print(li) # ['Mark', 'Edward', 'Mark', 'L', 'i', ' ', 'L', 'e', 'i', 8, 8, 6, 6, True, 1, False, 0] del li[3:9] # 全域性方法,可以刪除任何東西,可以批量刪除 print(li) # ['Mark', 'Edward', 'Mark', 8, 8, 6, 6, True, 1, False, 0] # range也是顧頭不顧尾,取第一個值不取最後一個值。 # while迴圈可以是死迴圈,for迴圈有邊界 # 排序 li2 = ['a', 'e', 'b', 1, 34, 2, 'c'] # li2.sort() # 報錯,int和str之間不能排序 li2 = ['a', 'z', 'c', 'm', 'u', 'G', '!', '*', ',', '.'] li2.sort() # 按ASCII碼錶的順序來排 print(li2) # ['!', '*', ',', '.', 'G', 'a', 'c', 'm', 'u', 'z'] # 翻轉 li2.reverse() print(li2) # ['z', 'u', 'm', 'c', 'a', 'G', '.', ',', '*', '!'] # 拼接列表 # 方法1 li3 = [1, 2, 3] li4 = ['a', 'b', 'c'] print(li4 + li3) # ['a', 'b', 'c', 1, 2, 3] # 方法2 li5 = ['z', 'x', 'c'] li3.extend(li5) print(li3) # [1, 2, 3, 'z', 'x', 'c'] # 清空列表 clear li6 = [1, 123, 312, '12312', '8', '*', 'asd'] print(li6.clear()) # None # copy li7 = [3, 4, 5] li8 = li7 # li8指向了li7,而不是li7的值 li7[0] = 'alex' print(li7) # ['alex', 4, 5] print(li8) # ['alex', 4, 5] li9 = [1, 2, 3] li10 = li9.copy() li9[0] = 'alex' print(li9) # ['alex', 2, 3] print(li10) # [1, 2, 3]