在日常中我們都會將很多事物定上了一個標籤,例如將商品標記價格,替孩子取姓名,公司上冠上職稱等等。
在Python中也有這種方法,就是字典的形式{ 'name' : 'crab', 'apple', 1000 }
去呈現,將需要的後再把輸入對應的鍵取出值來,像上方的形式,若要查詢key(蘋果)價格就會得到他的值(value)1000 。
以下圖舉例說明,將手機價格用Python字典的方式儲存。
1. 存儲方式:使用鍵-值(key-value)對的形式。
2. 順序:字典是無序的,即不保證項目的順序。
3. 鍵的唯一性:字典中的鍵是唯一的,每個鍵對應一個值。
4. 資料型別:可以存儲任何的資料型別作為鍵,例如字串、數字等。
5. 使用花括號{ }
來創建。
1. 存儲方式:使用花括號 `{}`。
2. 順序:集合是無序的,即不保證項目的順序。
3. 元素的唯一性:集合中的元素是唯一的,不允許重複。
4. 資料型別:可以存儲任何的資料型別。
5. 使用花括號 { }
來創建。
# 空字典
empty_dict = {}
# 包含鍵值對的字典
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# 使用 dict() 建構子宣告字典
another_dict = dict(name='Jane', age=25, city='Los Angeles')
# 字典中包含不同類型的值
mixed_dict = {'name': 'Alice', 'age': 28, 'is_student': True, 'grades': [85, 92, 78]}
# 空集合
empty_set = set()
# 包含元素的集合
my_set = {1, 2, 3, 4, 5}
# 使用 set() 建構子宣告集合
another_set = set([3, 4, 5, 6, 7])
# 集合中的元素可以是不同類型的值
mixed_set = {1, 'hello', 3.14, True}
keys()
: 返回字典所有的鍵。my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
keys = my_dict.keys()
print(keys)
# dict_keys(['name', 'age', 'city'])
values()
: 返回字典所有的值。
values = my_dict.values()
get(key, default)
: 獲取指定鍵的值,如果鍵不存在,返回指定的默認值。
指定存在的key :
'age'
,則回傳對應的值25
,若指定不存在的'job'
則回傳指定的默認值no job
pop(key, default)
: 刪除並返回指定鍵的值,如果鍵不存在,返回指定的默認值或引發 KeyError。
若在jon那段,未給默認值的參數,則就會引發KeyError
items()
: 將字典內的key與values,組成tuple情況,一組一組的。
這樣可以方便地獲取字典中的每一對key與values,來應用,依序取出作處理。
update(dict2)
: 將另一個字典的鍵值對更新到該字典中。
字典中的鍵是唯一的,若update已存在的key就會將值更新,像以下範例,city的值已更新為Los Angeles。
add(element)
: 向集合添加元素。
remove(element)
: 刪除集合中的指定元素,如果元素不存在,引發 KeyError。
discard(element)
: 刪除集合中的指定元素,如果元素不存在,不引發錯誤。
pop()
: 刪除並返回集合中的任意一個元素,如果集合為空,引發 KeyError。
union(set2)
或 |
: 返回兩個集合的聯集。
intersection(set2)
或 &
: 返回兩個集合的交集。
以下結合添加,刪除的方法,測試各種方法出來的結果,可某些場合根據需求使用相對應的方法
my_set = {1, 2, 3}
my_set.add(4)
print(f'add my_set : {my_set}')
my_set.remove(2)
print(f'remove(2) my_set : {my_set}')
my_set.discard(5)
print(f'discard(5) my_set : {my_set} 刪除不存在值,但不會引發錯誤')
popped_element = my_set.pop()
print(f'pop my_set: {my_set} 隨機刪除')
以下使用聯集與交集方法,呈現
聯集 : 集合A和B所有的元素組成的集合就叫做A和B的聯集,形成一個新的集合
交集:A跟B同時都有的元素,形成一個新的集合
如以下範例 :
set1 與set2 聯集後形成新的set {1, 2, 3, 4, 5}
set1與set2 交集形成新的set{3}
set1 = {1, 2, 3}
set2 = {3, 4, 5}
#聯集
union_set = set1.union(set2)
print(f'union_set : {union_set}')
union_set_new = set1|set2
print(f'| : {union_set_new}')
#交集
intersection_set = set1.intersection(set2)
intersection_set_new = set1 & set2
print(f'intersection_set: {intersection_set}')
print(f' & : {intersection_set_new}')
Python 的字典和集合,可以在日常生活中應用於多種情境
聯絡人名單: 將聯絡人名稱和相應的聯絡方式
contacts = {'Alice': '555-1234', 'Bob': '555-5678', 'Charlie': '555-9876'}
行事曆事件: 將日期作為鍵,事件內容作為值。
calendar = {'2022-01-15': '朋友聚會', '2022-01-20': '工作會議'}
活動參與者集合: 紀錄參與活動的人員,確保每個參與者只計算一次。
event_participants = {'Alice', 'Bob', 'Eve', 'David', 'Charlie'}
程式語言一些語法或方法的存在,目的就是為了解決日常的難題所存在的,使用對的方法或語法將會事半功倍。