iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

Python淺顯易懂的小教室系列 第 11

[Day_11]資料儲存容器 - 字典(dict) & 集合(set)

字典(dict)

將tuple或串列轉成字典

使用「函式」將tuple或串列轉成字典,讓我們來看以下的例子 :

#input
a = [['禮拜一','Monday'],['禮拜二','Tuesday']]
dict1 = dict(a)
print(dict1)
b = [('禮拜一','Monday'),('禮拜二','Tuesday')]
dict2 = dict(b)
print(dict2)
c = (['禮拜一','Monday'],['禮拜二','Tuesday'])
dict3 = dict(c)
print(dict3)
d = (('禮拜一','Monday'),('禮拜二','Tuesdady'))
dict4 = dict(d)
print(dict4)

#output
{'禮拜一': 'Monday', '禮拜二': 'Tuesday'}
{'禮拜一': 'Monday', '禮拜二': 'Tuesday'}
{'禮拜一': 'Monday', '禮拜二': 'Tuesday'}
{'禮拜一': 'Monday', '禮拜二': 'Tuesdady'}

使用「函式update」合併兩個字典

#input
a = {'禮拜一':'Monday'}
b = {'禮拜二':'Tuesday'}
a.update(b)
print(a)
a = {'禮拜一':'Monday','禮拜二':'Tuesday'}
b = {'禮拜二':'英文是Tuesday'}
a.update(b)
print(a)

#output
{'禮拜一': 'Monday', '禮拜二': 'Tuesday'}
{'禮拜一': 'Monday', '禮拜二': '英文是Tuesday'}

使用「函式copy」複製字典

#input
a = {'禮拜一':'Monday','禮拜二':'Tuesday'}
b = a
a['禮拜二']='今天是Tuesday'
print('a= ',a)
print('b= ',b)
a = {'禮拜一':'Monday','禮拜二':'Tuesday'}
c = a.copy()
c['禮拜二']='今天是Tuesday'
print('a= ',a)
print('c= ',c)

#output
a=  {'禮拜一': 'Monday', '禮拜二': '今天是Tuesday'}
b=  {'禮拜一': 'Monday', '禮拜二': '今天是Tuesday'}
a=  {'禮拜一': 'Monday', '禮拜二': 'Tuesday'}
c=  {'禮拜一': 'Monday', '禮拜二': '今天是Tuesday'}

使用「for」讀取字典每個元素

使用「for」讀取字典每個元素,配合字典的「函式items」會回傳「鍵」與「值」兩個元素

#input
a = {'禮拜一':'Monday','禮拜二':'Tuesday'}
for ch,en in a.items():
    print('中文為',ch,'英文為',en)
for ch in a.keys():
    print(ch,a[ch])
for en in a.values():
    print(en)    

#output
中文為 禮拜一 英文為 Monday
中文為 禮拜二 英文為 Tuesday
禮拜一 Monday
禮拜二 Tuesday
Monday
Tuesday

集合(set)

集合(set)儲存沒有順序性的資料,要找出資料是否存在,集合內元素不能重複,集合會自動刪除重複的元素

新增與修改集合

使用「set()」或「{}」建立新的集合,集合會自動刪除重複的元素,「set()」只能使用一個參數

#input
a = [1,2,3,4]
print(a)
a = set(('c',1,'d',5)) 
print(a)
a = set(['working','studying','reading'])
print(a)
a = set({'禮拜一':'Monday','禮拜二':'Tuesday'})
print(a)
a = set('cancer')
print(a)

#output
[1, 2, 3, 4]
{'d', 1, 5, 'c'}
{'working', 'studying', 'reading'}
{'禮拜一', '禮拜二'}
{'a', 'n', 'r', 'c', 'e'}

使用「函式add」新增集合元素,使用「函式remove」刪除集合元素

#input
a = set('elephant')
print(a)
a.add('ZZ')
print(a)
a.remove('a')
print(a)

#output
{'a', 'p', 'n', 'l', 'e', 't', 'h'}
{'a', 'p', 'n', 'l', 'e', 't', 'h', 'ZZ'}
{'p', 'n', 'l', 'e', 't', 'h', 'ZZ'}

以上是資料儲存容器的介紹,
明天會給大家例題做練習,
大家一起努力吧~~
/images/emoticon/emoticon25.gif


上一篇
[Day_10]資料儲存容器(3) - 字典(dict)
下一篇
[Day_12]資料儲存容器 - 練習題
系列文
Python淺顯易懂的小教室30

尚未有邦友留言

立即登入留言