Set trong Python

Trong bài viết dưới đây mời bạn đọc cùng eLib tìm hiểu mọi thứ liên quan đến kiểu dữ liệu Set trong Python như: cách khởi tạo Set, thêm hoặc xóa các thành phần tử ra khỏi Set, và tất cả các hoạt động được thực hiện trên Set trong Python. Cùng theo dõi nhé!

Set trong Python

1. Kiểu dữ liệu Set là gì?

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)
Ghi chú: Set không có thứ tự, vì vậy bạn không thể chắc chắn thứ tự các phần tử sẽ xuất hiện.

2. 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

3. 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.

4. 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'}

5. Độ 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

6. 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 discarSử 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'}

Lưu ý: Nếu phần tử cần xóa không tồn tại, hàm remove() sẽ phát sinh lỗi.

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'}

Lưu ý: Nếu mục cần xóa không tồn tại, discard() sẽ không sinh ra lỗi.

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

7. 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'}

Lưu ý: Cả hai union() và update() sẽ loại trừ bất kỳ phần tử nào trùng lặp.

8. 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'}

9. 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.

Trên đây là bài viết của eLib.VN về kiểu dữ liệu Set trong Py thon. Bạn đọc cần lưu ý rằng với Set thì không thể thay đổi giá trị của các phần tử, bản chất khi sử dụng phương thức udpate là bạn đã bổ sung các phần tử. Tuy nhiên bạn có thể thực hiện các thao tác như xóa phần tử. Chúc các bạn thành công!

Ngày:23/10/2020 Chia sẻ bởi:Denni

CÓ THỂ BẠN QUAN TÂM