python 學習之路(列表,元組)
python3 byte 與 str 互相轉換
>>> "ab測試".encode('utf-8')
b'ab\xe6\xb5\x8b\xe8\xaf\x95'
>>> b'ab\xe6\xb5\x8b\xe8\xaf\x95'.decode('utf-8')
'ab測試'
參數 ‘utf-8’ 參數如果不寫 默認爲 “utf-8”
列表 的使用方法
列表的聲明
#列表
a=[1,2,3,4]
查詢方法
#查詢方法
print(a[0])#取第一個值
print(a[1:3])#取中間兩個值 2 3 要開頭不要結尾
print(a[-2])#取倒數第二個
print(a[-2:])#去最後兩個
print(a[:2])#0可以省略,這個意思和[0:2]是一個意思
print(a.index(3))#打印3這個數字的位置(下標)
print(a[0:-1:2]) #打印 從0位置到最後 步長爲2 打印結果爲:[1 , 3]
print(a[::2]) # 效果同上
追加和插入的方法
a.append(5) # 向後追加數值
a.insert(1,6) # 插入 第一個是位置(下標) 第二個是想要插入的數值 不能進行批量插入
更改的方法
a[2] = 7 # 將第三個位置的數字改成7 直接賦值
刪除的方法
a.remove(3) # 將數字3刪除,注意不是第三個位置
del a[1] #刪除第二個位置的數字
a.pop() #刪除最後一個位置 加參數就是刪除的第幾個 比如a.pop(1) 刪除第二個
統計
a.count(3) #有幾個3這個數字
清空
a.clear()
反轉
a.reverse()
排序
a.sort()
合併
b=["a","b","c"]
a.extend(b) #內容爲:[1, 6, 2, 3, 4, 5, 'a', 'b', 'c']
複製
c=a.copy() #只copy第一層 如:[1,2,3,["1","2"],4] 只copy外層的地址。裏面的列表都是一樣的。
不理解可以看下面這個圖片說明:
淺copy方法
import copy
# 補充一下淺copy的用法
c = copy.copy(a)
d = a[:]
e = list(a)
說明:淺copy 需要 import copy
深copy
import copy
# 如果想要進行全copy 使用一下方法
a = [1,2,3,["1","2"],4]
b = copy.deepcopy(a)
print(a , b)
a[3][0] = "3"
print(a , b)
# 打印的結果
# [1, 2, 3, ['1', '2'], 4] [1, 2, 3, ['1', '2'], 4]
# [1, 2, 3, ['3', '2'], 4] [1, 2, 3, ['1', '2'], 4]
說明:深copy 需要 import copy
列表的循環
# 列表的循環
for i in a:
print(i) #這裏就不寫打印結果了。
for index , item in enumerate(a):
print(index , item) # index 爲下標數
列表的長度
len(a) #得到列表的長度
元組
說明:元組和列表差不多,只不過是元組一旦創建便不能修改,也稱爲只讀列表。
方法
#聲明
a = (1,2,3,4)
#元組只有兩個方法,1.count 2.index