[程式]Python教學- TUPLE 元組, List 串列, set 集合, 字典 dict 語法

下面為我python學習中所做的筆記,有關於Tiple, List, set, and dict的簡易函式

元組 ex: T3=()

元組 Tuple: 有順序、不能修改

len(元組): 有多少個元組

元組.index(欲搜尋元素): 尋找某元素第一次出現的位置

元組.count(欲搜尋元素):查詢元組中欲搜尋元素出現次數

T3[x]

T3[x][y]

T3[::-1]:倒轉

tuple速度較list快,若以車廂來比喻,tuple第一百萬個車廂,車長直接知道第一百萬個車廂裡面有什麼,

而list車長必須從第一個車廂開始跑,跑到第一百萬個車廂才知道裡面有什麼

若要修改tuple,需要另外定義–>

T1 = (1, 2, [3], [’emma’,’eddie’])
T1[-2][0]=”x”
T1[-1][0]=”y”
T1[-1][1]=”z”

串列 List : 有順序、可以修改

list可索引,可修改–>可用del function

串列 ex: [True]

L1+L2

L1[x]

L1[x][y]

L2[-2:0:-2]: 從-2開始到(0+1)的位置,兩個為間距倒數回去

L1[0]=-3: L1第一個元素改成-3

串列.pop([x]): 移除某位置元素, 並回傳此串列。 預設為移除最後一個位置的元素。

串列,remove[x]: 移除串列中第一個x的元素

串列.clear(): 整個list清空

串列.append(新元素):將某元素加到list最後. ex: L1.append([1,2])

串列.insert(位置, 新元素) : ex: L1.insert(2,[1,2,3])

串列.extend(新元素): 將新元素拆開加入list 最後面 ex:L1.extend([1,2]), L1 = [….原本list, 1, 2]

ex2: L1.extend(“abc123”)

L2[::-1] 將L2反轉但不改變L2的值

L2.reverse: 將L2的值反轉

L1.sort() :先排序數字再排序字母

L3= L2.copy

set 集合 :無順序(所以沒有index function)可修改、資料不重複

set無順序不可索引,不可用del

ex: S1={12,22,12}–>S0={12,22}; S1=set(‘tatto’); S1=set([5,3,1,2])

len(集合) 計算集合長度,返回int

集合.add(元素)

集合.remove(元素)

集合.clear()

集合.copy()

set() —> 空的集合

S1&S2: S1跟S2交集的部分

S1|S2: 我全都要 (聯集)

S1-S2: S1去掉有S2的

集合A^集合B: 互斥運算,把這兩個集合共有的去除掉(連集剪掉交集的部分)

S1 <= S2 : 判斷S1是否為S2的子集合(A集合有沒有在B集合裡頭或是這兩個是相等的 有沒有小於他—>有沒有在他裡頭)

是的話就是True

字典:無順序、可以修改

佔用記憶體ram,dict較list多,但字典操作的速度較快

dict 可索引可修改,可用del function

D1 = {}

key:value

可以想像成集合跟字典是一樣的。只是型態不一樣

可以從key找到值

len(字典) : 字典裡面有幾個組合 ex: len(D2)
字典[某key]: 做索引動作 []裡面要放key ex:D1[‘a’]
字典[某key] = 把某個key對應到的值改掉也可以是新增資料 ex: D1[‘a’] = 300

字典.keys() 取得字典內所有的key ex: D1.keys() ; list (D1.keys())–>直接把D1的key型態改成串列來利用

字典.values() 取得字典內所有值 ex: D1.values()

字典.items() 取得字典內所有key/value ex: D1.items() ?

字典A.update(字典B) :兩個字典作串接 D3.update(D2) —>將D2串接到D3

字典.copy() 將D2字典複製,並回傳新字典D3 D3= D2.copy()