Python中的無序集合主要有兩種類型:集合(Set)和字典(Dictionary)。它們都可以存儲多個元素,但是沒有固定的順序。
一、集合(Set)
集合是一組互不相同的元素的無序集合。在Python中,可以使用set()函數或者使用花括號{}來創建集合。
1. 創建集合
可以使用set()函數來創建一個空集合,也可以直接使用花括號{}來創建一個集合,并在花括號內添加元素。
# 創建空集合
set1 = set()
print(set1) # 輸出 set()
# 創建帶有元素的集合
set2 = {1, 2, 3}
print(set2) # 輸出 {1, 2, 3}
2. 添加元素
可以使用add()方法向集合中添加元素,如果添加的元素已經存在于集合中,則不會重復添加。
set3 = {1, 2, 3}
set3.add(4)
print(set3) # 輸出 {1, 2, 3, 4}
set3.add(3)
print(set3) # 輸出 {1, 2, 3, 4},元素3已經存在,不會重復添加
3. 刪除元素
可以使用remove()方法從集合中刪除指定的元素,如果要刪除的元素不存在于集合中,則會拋出KeyError異常。還可以使用discard()方法刪除元素,如果要刪除的元素不存在于集合中,則不會拋出異常。
set4 = {1, 2, 3, 4}
set4.remove(3)
print(set4) # 輸出 {1, 2, 4}
set4.discard(2)
print(set4) # 輸出 {1, 4}
set4.remove(5) # 拋出KeyError異常
set4.discard(5) # 不會拋出異常
4. 集合運算
可以使用交集、并集、差集等運算符對集合進行操作。
set5 = {1, 2, 3}
set6 = {3, 4, 5}
# 交集
intersection = set5 & set6
print(intersection) # 輸出 {3}
# 并集
union = set5 | set6
print(union) # 輸出 {1, 2, 3, 4, 5}
# 差集
difference = set5 - set6
print(difference) # 輸出 {1, 2}
二、字典(Dictionary)
字典是一種鍵值對的無序集合,每個鍵值對之間用逗號分隔。在Python中,可以使用花括號{}或者dict()函數來創建字典。
1. 創建字典
可以使用花括號{}來創建一個空字典,也可以使用dict()函數來創建一個字典,并在括號內添加鍵值對。
# 創建空字典
dict1 = {}
print(dict1) # 輸出 {}
# 創建帶有鍵值對的字典
dict2 = {'name': 'Alice', 'age': 20}
print(dict2) # 輸出 {'name': 'Alice', 'age': 20}
2. 添加或修改鍵值對
可以使用賦值運算符來添加或修改字典中的鍵值對。
dict3 = {'name': 'Alice', 'age': 20}
# 添加鍵值對
dict3['gender'] = 'female'
print(dict3) # 輸出 {'name': 'Alice', 'age': 20, 'gender': 'female'}
# 修改鍵值對
dict3['age'] = 21
print(dict3) # 輸出 {'name': 'Alice', 'age': 21, 'gender': 'female'}
3. 刪除鍵值對
可以使用del關鍵字來刪除字典中的鍵值對。
dict4 = {'name': 'Alice', 'age': 20, 'gender': 'female'}
del dict4['age']
print(dict4) # 輸出 {'name': 'Alice', 'gender': 'female'}
4. 獲取鍵值對
可以使用鍵來獲取對應的值,也可以使用items()方法獲取所有的鍵值對。
dict5 = {'name': 'Alice', 'age': 20}
# 獲取值
print(dict5['name']) # 輸出 Alice
# 獲取所有鍵值對
print(dict5.items()) # 輸出 dict_items([('name', 'Alice'), ('age', 20)])
以上就是Python中無序集合的操作方法。通過集合和字典,可以方便地存儲和操作多個元素,并且無序集合的特性可以滿足一些特定的需求。希望對你有幫助!
千鋒教育擁有多年IT培訓服務經驗,開設Java培訓、web前端培訓、大數據培訓,python培訓、軟件測試培訓等課程,采用全程面授高品質、高體驗教學模式,擁有國內一體化教學管理及學員服務,想獲取更多IT技術干貨請關注千鋒教育IT培訓機構官網。