08/12/2019, 00:23

Set trong Python

List trong Python 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", ...

List trong Python

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.

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

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.

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()
issubset()
issuperset()
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()Returns a set with the symmetric differences of two sets
symmetric_difference_update()inserts the symmetric differences from this set and another
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.
List trong Python
0