1/13 Python筆記(*容器型態 List, Tuple, Dictionary, Set)

List:
用中括號將資料包起來,以逗號為間隔
For example:
list1 = [3,4,5,6,7,8];
print (list1[2]);
print (list1[0:3]);#可以取得0~3的資料,但不包含結束位置的資料(第3個)。
print (list1[2:]);#取得索引值2後的所有資料(包含起點位置)
print (list1[:3]);#取得索引值3之前的所有資料(不包含終點位置)
list1.append(9);#可以加入一個元素
print (list1);
list2 = [10,13,20,0];
list1.extend(list2);#可以加入多個元素,但必須先把要新增的所有元素加成一個list
list1.append(list2);#會在List裡再多一個List
print (list1);
list1.pop(3);#移除索引值為3的元素
print (list1);
list1.remove(10);#移除所有為10的元素
print (list1);#注意:裡面的List10不會被移除
list3 = [1,3,2,8,9,4];
list3.sort(reverse = True);#sort裡面有一個參數叫做reverse,若reverse == True, 為降冪,反之,為升冪
print (list3);
list3.sort(reverse = False);
print (list3);

list4 = [0,9,8,7,6,4,9,2,3,2,7,3,8,4,2,3,8,9]
print (list4);
list4.reverse();#用來反轉list
print (list4);

Tuple:使用小括號將資料包起來,以逗號為間隔
但是Tuple裡面的值是不可改變的
For example:
t = (1,2,5,5,5)#Tuple中的值是不可改變的,但如果你想要做List的功能
print (t[2])
list1 = list(t)
list1.sort(reverse = True );
print(list1)

print(2 in t);#2這個值有在t裡面,就會回傳True,vice versa
print(len(t));#印出t的長度
print(t.count(5));#找我的tuple t裡面有幾個5,會印出3

字典(Dictionary):
字典使用key and value為一對,{key1:value1, key2:value2}
Key是唯一值,若有重複者,後者會取代前者
Key可以用字串,tuple等等不可改變的值來使用,不可使用List
value 沒有這個限制
key放在中括弧中取得相對應的value


#利用tuple來做key值:
在利用“=“符號時,若字典有找到相同的key,就直接改value,如果找不到就新增一個新的key及他的value.
For example:

dict1 = {'a':3, 'b':9, 'c':777 , 'd':666}
print(dict1);
#print (dict1['e']);#如果資料庫裡沒有這個'e'資料,那就會跳keyerrorbug
print(dict1.get('d'))
print(dict1.get('e',"no data"));#利用get()這個函式,可以避免跳bug,逗號後面那個是如果沒有相對應的value,就跳出後面那個字串
print(dict1.keys());#所有key的值
print(dict1.values());#所有的value
print(dict1.items());#所有的key+values
dict1['e'] = 0 ;#可以直接指派key e, value 0 dictionary
print (dict1.items());
dict1['b'] = 'b';#b的值直接改
print(dict1);


Set(集合):
Set裡的元素沒有順序性,也不能重複,所以也不能利用索引值取值
用大括號將所有元素包起來,元素可以是數值,物件,等等,利用逗號將各個元素分開來。
聯集(|),交集(&),差集(-),排除相同元素( ^ )



For example:
V = {'a' ,'e' , 'i', 'o', 'u'}
F = {'d', 'n', 'g', 'i', 'o' }
print(V|F);#聯集運算
print(V-F);#差集運算
print(V&F);#交集運算
print(V^F);#排除掉相同的元素
V.add(3);#輸入一個元素3
print (V)
V.update({4,5});#輸入一個集合
print(V);
V.remove(3);#如果元素內有3,可以用remove,但是如果元素內沒有3,只能用discard,不然會跳key Error
print(V)
V.discard(1);
print(V)
print(5 in V);# if 5 is the element in V, and it will return True, vice versa.























留言

熱門文章