Python Set
Chúng ta đã tìm hiểu được 3 loại dữ liệu tập hợp trong Python là: List, Tupe, Dictionary. Hôm nay chúng ta sẽ đi tìm hiểu về Set.
Nội dung của bài
Set trong Python
Set là kiểu dữ liệu cho phép lưu trữ nhiều giá trị trong một biến. Các phần tử của Set khác với 3 loại còn lại là không được sắp xếp, các phần tử không được phép thay đổi và cũng không được trùng nhau.
fruits = {"apple", "banana", "cherry"}
nums = {0, 2, 3, 5, 8}
bols = {True, False, False}
print(fruits)
# prints set(['cherry', 'apple', 'banana'])
print(nums)
# prints set([0, 8, 2, 3, 5])
print(bols)
# prints set([False, True])
Khởi tạo Set
Như ví dụ trên, chúng ta khỏi tạo set bằng cách fruits = {“apple”, “banana”, “cherry”}. Sau lệnh này trình thông dịch sẽ tạo ra một set fruits.
Chúng ta cũng có thể khởi tạo một set mới bằng cách: fruits = set((“apple”, “banana”, “cherry”))
Truy xuất vào phần tử của Set
Vì set không được sắp xếp, không có index và key nên chúng ta không thể truy xuất vào các phần tử của set như ở list, dictionary.
Hãy xem ví dụ:
fruits = {"apple", "banana", "cherry"}
for x in fruits:
print(x)
# prints cherry
# apple
# banana
Để truy xuất vào các phần tử của set chúng ta dùng loop.
Cập nhật set
Các phần tử của Set không thể thay đổi, nhưng chúng ta có thể thêm mới phần tử vào set.
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)
# prints set(['orange', 'cherry', 'apple', 'banana'])
tropical = {"pineapple", "mango", "papaya"}
fruits.update(tropical)
print(fruits)
# prints set(['mango', 'papaya', 'apple', 'pineapple', 'orange', 'cherry', 'banana'])
somefruits = ["kiwi", "orange"]
fruits.update(mylist)
print(fruits)
# prints set(['kiwi', 'mango', 'papaya', 'apple', 'pineapple', 'orange', 'cherry', 'banana'])
Thêm một phần tử vào set chung ta sử dụng hàm add().
Cập nhật nhiều phần tử từ một set hoặc một list chúng ta sử dụng hàm update()
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits)
# prints set(["cherry", "apple"])
Bỏ phần tử của set chúng ta sử dụng hàm remove().
Ngoài cách sử dụng hàm update() Join Sets chúng ta có thể sử dụng union như ví dụ dưới đây:
fruits = {"apple", "banana", "cherry"}
nums = {0, 2, 3, 5, 8}
fruits.union(nums)
# prints set([0, 2, 3, 'apple', 8, 'cherry', 'banana', 5])
Join hai set chỉ giữ lại những phần tử giống nhau chúng ta sử dụng hàm intersection_update()
companies = {"google", "microsoft", "apple"}
fruits = {"apple", "banana", "cherry"}
fruits.intersection_update(companies)
print(fruits)
# prints set(['apple'])
Giữ lại các phần tử khác nhau:
companies = {"google", "microsoft", "apple"}
fruits = {"apple", "banana", "cherry"}
fruits.symmetric_difference_update(companies)
print(fruits)
# prints set(['cherry', 'google', 'microsoft', 'banana'])
Kết luận
Vậy là chúng ta đã tìm hiêu 4 loại dữ liệu tập hợp trong Python.
- List là kiểu dữ liệu tập hợp, các phần tử được sắp xếp, có thể thay đổi và cho phép các phần tử có cùng giá trị.
- Tupe là kiểu dữ liệu tập hợp, các phần tử được sẵp xếp, không thể thay đổi (Immutable) và cho phép các phần tủ có cùng giá trị.
- Dictionary là kiểu dữ liệu tập hợp, các phần tử được sắp xếp, có thể thay đổi và không được phép có cùng giá trị.
- Set là kiểu dữ liệu tập hợp, các phần tử không sắp xếp và không được phép trùng nhau.
Các bạn hãy sử dụng kiểu dữ liệu một cách thuần thục và nhớ là dựa vào đặc điểm của mỗi loại để sử dụng vào bài toán cho hiệu quả.