要創建簡單的數據結構 可以使用元組 存儲數據 使用圓括號 創建元組
address = ('北京','上海','天津','廣州','重慶')
即使沒有圓括號 python通常也能識別元組
number = 1,2,34,4,5,6,7,8
如果你要創建1個數值的元組 需要在後面添加一個,(逗號)
num = 1, # type = tuple num = 1 # type = int num = (1) # type = int num = (1,) # type = tuple
和列表一樣 也可以使用數字索引提取元素中的值 然而最常用的方法是將元組解包爲一組變量:
number = ('阮小七',23,'河北張家口') name,age,addr = number #元組解包爲一組數據 print(name); print(age); print(addr);
元組操作與列表大部分相同(索引 切片,連接)但是創建元組後不能修改內容(無法替換 刪除現有元組中的元素 或者 插入新元素) 說明: 最好把元組看做由多部分組成的對象 而不是可在其中插入或者刪除項的不同的集合
元組修改必須使用切片和連接運算符 :
name = ('雙槍將董平','沒羽箭張青','青面獸楊志') #不能用insert或者append方法 添加新元素 name=name[1:]+('急先鋒索超',) +name[:1];
輸出結果:
('沒羽箭張青', '青面獸楊志', '急先鋒索超', '雙槍將董平')
在元組中 使用 * 重複運算符 如:
8*(4,)
輸出結果:
(4,4,4,4,4,4,4,4)
表示數據時 通常同時使用元組和列表:
filename = 'E:/work.txt'; datas = []; for line in open(filename): fileds = line.split(','); #將每行劃分爲一個列表 name = fileds[0]; #提取並轉換每一個字段 tokens = int(fileds[1]); price = float(fileds[2]); stock = (name,tokens,price); datas.append(stock); print(datas)
注:此處將work.txt中的數據提取並組成一個元組 放入到了 列表中
輸出結果:
[("'tom'", 120, 132.0), ("'jon'", 234, 255.0), ("'jeck'", 123, 678.0)]
如果要訪問元組中的數據項 :
print(datas[1]); #索引 print(data[2][1]); #切片
輸出結果
("'jon'", 234, 255.0)
123
如果想循環所有記錄並將字段進行運算 則:
for name, tokens, price in datas: total += tokens * price; print(total);
輸出結果:158904.0
總結:
1,創建元組可使用()
2,創建1個值的元組 可使用:tuple1 = str, 或者 tuple1 = (str,)
3,常用的提取值的方式 切片或者索引提取或者將元組解包爲一組變量 name ,age,add = date;
5,元組不可以使用常規方法被修改或者添加項 但是可以使用切片運算符和連接用算符進行此操作
6,*在元組中可以作爲重複運算符
7,同時使用元組和列表的用法