Kiểu dữ liệu Set trong python là một collection không có thứ tự, không có chỉ mục. Không cho phép chứa dữ liệu trùng lặp.
Set trong Python được khai báo với các dấu ngoặc nhọn {}.
Ví dụ:
setFruits = {"apple", "cherry", "banana"} print(setFruits)
Nội dung chính
Truy cập các phần tử của Set trong Python
Bạn không thể truy cập các phần tử trong một Set bằng cách sử dụng chỉ mục, vì Set không lưu trữ các phần tử theo thứ tự nhập ban đầu.
Bạn có thể sử dụng vòng lặp for để truy cập các phần tử của một Set.
Ví dụ: duyệt các phần tử của một Set và in các giá trị ra màn hình:
setFruits = {"apple", "cherry", "banana"} for x in setFruits: print(x)
Kết quả:
apple cherry banana
Hoặc bạn cũng có thể sử dụng từ khóa in để kiểm tra xem phần tử có tồn tại trong Set hay không.
setFruits = {"apple", "cherry", "banana"} x = "apple" in setFruits print(x)
Kết quả:
True
Thay đổi các giá trị của một item trong Set
Khi một set được tạo ra, bạn không thể thay đổi các item của nó, nhưng bạn có thể thêm các item mới.
Thêm các item vào một set trong Python
Để thêm một item vào một set, sử dụng hàm add()
Để thêm nhiều item vào một set, sử dụng hàm update()
Ví dụ 1: sử dụng hàm add() để thêm một item vào một set:
setFruits = {"apple", "cherry", "banana"} setFruits.add("kiwi") print(setFruits)
Kết quả:
{'banana', 'kiwi', 'apple', 'cherry'}
Ví dụ 2: sử dụng hàm update() để thêm nhiều item vào một set:
setFruits = {"apple", "cherry", "banana"} setFruits.update(["orange", "mango", "grapes"]) print(setFruits)
Kết quả:
{'grapes', 'orange', 'mango', 'cherry', 'apple', 'banana'}
Độ dài của một Set trong Python
Hàm len() được sử dụng để xem có bao nhiêu item trong một set:
setFruits = {"apple", "cherry", "banana"} print(len(setFruits))
Kết quả:
3
Xóa một phần tử từ Set trong Python
Để xóa một phần tử trong một set, sử dụng hàm remove() hoặc discard()
Sử dụng hàm remove() hoặc discard()
Ví dụ 1: xóa phần tử "banana" bằng hàm remove():
setFruits = {"apple", "cherry", "banana"} setFruits.remove("banana") print(setFruits)
Kết quả:
{'cherry', 'apple'}
Ví dụ 2: xóa phần tử "banana" bằng hàm discard():
setFruits = {"apple", "cherry", "banana"} setFruits.discard("banana") print(setFruits)
Kết quả:
{'cherry', 'apple'}
Sử dụng hàm pop()
Bạn cũng có thể sử dụng hàm pop(), để xóa một phần tử, nhưng phương thức này sẽ xóa phần tử cuối cùng. Nhưng set không có thứ tự, vì vậy bạn sẽ không biết mục nào bị xóa.
Giá trị trả về của hàm pop() là phần tử bị xóa.
setFruits = {"apple", "cherry", "banana"} x = setFruits.pop() print(x)
Kết quả:
cherry
Sử dụng hàm clear()
setFruits = {"apple", "cherry", "banana"} setFruits.clear() print(setFruits)
Kết quả:
set()
Sử dụng từ khóa del
Lệnh del sẽ xóa một del hoàn toàn:
setFruits = {"apple", "cherry", "banana"} del setFruits print(setFruits)
Kết quả:
NameError: name 'setFruits' is not defined
Nối 2 set trong Python
Bạn có thể sử dụng hàm union() trả về một set mới chứa tất cả các phần tử từ cả hai bộ hoặc hàm update() chèn tất cả các mục từ set này sang set khác:
Ví dụ 1: sử dụng hàm union()
set1 = {"a", "b" , "c"} set2 = {1, 2, 3, 'c'} set3 = set1.union(set2) print(set3)
Kết quả:
{1, 2, 3, 'c', 'b', 'a'}
Ví dụ 2: sử dụng hàm update()
set1 = {"a", "b" , "c"} set2 = {1, 2, 3, 'c'} set1.update(set2) print(set1)
Kết quả:
{1, 2, 'b', 3, 'c', 'a'}
Constructor set()
Bạn có thể sử dụng hàm tạo set() để tạo một set.
setFuits = set(("apple", "banana", "cherry")) print(setFuits)
Kết quả:
{'banana', 'cherry', 'apple'}
Các phương thức xử lý Set trong Python
Bảng dưới liệt kê các hàm đã được xây dựng sẵn để thao tác với Set trong Python, bạn theo link để tìm hiểu chi tiết:
Hàm | Mô tả |
---|---|
add() | Thêm một phần tử tới set |
clear() | Xóa tất cả các phần tử của một set |
copy() | Returns a copy of the set |
difference() | Trả về một set chứa các phần tử khác nhau của 2 hoặc nhiều set |
difference_update() | Xóa các phần tử của set này mà tồn tại trong set khác |
discard() | Xóa phần tử được chỉ định. |
intersection() | Trả về một set mà các phần tử của nó tồn tại trong cả 2 set đã cho. |
intersection_update() | Xóa các phần tử của set này mà không tồn tại trong set kia. |
isdisjoint() | Trả về true nếu không có phần tử nào trong một set trùng với phần tử nào trong set thứ 2. Trả về false nếu có bất kỳ phần tử nào trong set ban đầu giống với set thứ 2 |
issubset() | Trả về true nếu tất cả các phần tử trong một set tồn tại trong set2, ngược lại trả về false. |
issuperset() | Trả về true nếu tất cả các phần tử trong set2 tồn tại trong một set, ngược lại trả về false. |
pop() | Xóa phần tử cuối cùng của một set. |
remove() | Xóa phần tử được chỉ định. |
symmetric_difference() | Trả về một set mà chứa các phần tử của cả 2 set đã cho, sao cho các phần tử này tồn tại trong set này nhưng không tồn tại trong set kia. |
symmetric_difference_update() | Cập nhật set ban đầu bằng việc loại bỏ phần tử của cả 2 set đã cho, sao cho các phần tử này tồn tại trong set này nhưng không tồn tại trong set kia. |
union() | Trả về môt set mà được nối từ 2 set với nhau. |
update() | Nối set này với set khác. |