Set Trong Python - Những Điều Bạn Cần Biết Kiểu Dữ Liệu Này 2021
Cùng MCI tìm hiểu Set Trong Python - Những Điều Bạn Cần Biết Kiểu Dữ Liệu Này 2021 nhé!
Nội dung bài viết
Giới thiệu set trong python
Tập hợp Set trong Python: Set là một cấu trúc dữ liệu dạng đa giá trị trong Python. Một Set thường bao gồm các đặc điểm sau đây:
- Set là một container trong python
- Mỗi giá trị của Set trong python chỉ xuất hiện tối đa 1 lần
- Các phần tử của Set không có vị trí nhất định và có thể thay đổi được
- Các phép toán thường được sử dụng trong Set là: phép hợp (union), phép giao (intersection), phép hiệu (difference)…
Các phần tử trong Set phải là các dữ liệu không thể thay đổi như một số (int), một chuỗi (string), hoặc một Tuple.
Khởi tạo các phần tử set trong python
Để khởi tạo các phần tử Set trong Python, chúng ta sử dụng 1 trong 2 cách sau:
Cách 1: Đặt các phần tử trong dấu ngoặc nhọn {} và ngăn cách nhau bằng dấu phẩy
Ví dụ: set1={“bien1”, “bien2”, “bien3”}
Cách 2: Tạo Set bằng hàm tạo có sẵn set()
Ví dụ: set1=set([“bien1”, “bien2”, “bien3”])
Chú ý:
- Dấu ngoặc vuông [] sử dụng khai báo List
- Dấu ngoặc tròn () sử dụng khai báo Tuple
- Dấu ngoặc nhọn {} sử dụng khai báo Set
Để in các phần từ trong set ra màn hình, chúng ta sử dụng lệnh print như sau:
set1={“bien1”, “bien2”, “bien3”}
print(set1)
Toán tử với Set trong Python
3.1 Toán tử “|” và cách tìm hợp 2 tập hợp trong python
Để hợp 2 tập hợp Set in Python, chúng ta sử dụng toán tử “|”, phương thức update() hoặc union().
Ví dụ:
Set1 = {1, 2, 3}
Set 2 = {1, 4, 6}
=> để tìm hợp của set1 và set2, sau đó lưu kết quả vào 1 set mới, ta làm như sau:
Set = set1|set2
hoặc
Set = set1.union(set2)
Kết quả trả về: {1, 2, 3, 4, 6}
=> để tìm hợp của set1 và set2, sau đó lưu kết quả vào set1, ta làm như sau:
Set1 |= Set2
Set1.update(set2)
Kết quả trả về: {1, 2, 3, 4, 6}
3.2 Toán tử “&” và cách tìm giao giữa 2 tập hợp set trong Python
Giao của 2 tập hợp set trong python là một tập hợp phần tử có mặt ở cả 2 tập hợp set.
Để tìm giao của 2 tập hợp set in Python, chúng ta sử dụng toán tử “&” hoặc phương thức intersection() với cú pháp như dưới đây:
Set1 = {1, 2, 3}
Set 2 = {1, 4, 6}
Cách 1: để tìm giao của set1 và set2, sau đó lưu kết quả vào 1 set mới, ta làm như sau:
set = set1 & set2
hoặc
set = set1.intersection(set2)
Print(set)
=> Kết quả trả về: {1}
Cách 2: để tìm giao của set1 và set2, sau đó lưu kết quả vào set1, ta sử dụng toán tử “&=” hoặc phương thức intersection_update() như sau:
set1 &= set2
hoặc
set1.intersection_update(set2)
Print(set1)
=> Kết quả trả về: {1}
3.3 Toán tử “-” và cách tìm hiệu giữa 2 tập hợp set trong Python
Hiệu 2 tập hợp set trong Python là tập hợp chứa những phần tử có ở trong 1 tập hợp nhưng không có trong tập hợp còn lại.
Để tìm hiệu giữa 2 tập hợp, chúng ta sử dụng toán tử “-” hoặc phương thức difference() với cú pháp như duới đây:
Set1 = {1, 2, 3}
Set 2 = {1, 4, 6}
Cách 1: để tìm hiệu của set1 và set2, sau đó lưu kết quả vào 1 set mới, ta làm như sau:
set = set1 - set2
hoặc
set = set1.difference(set2)
Print(set)
=> Kết quả trả về: {2, 3}
Cách 2: để tìm hiệu của set1 và set2, sau đó lưu kết quả vào set1, ta sử dụng toán tử “-=” hoặc phương thức difference_update() như sau:
set1 -= set2
hoặc
set1.difference_update(set2)
Print(set1)
=> Kết quả trả về: {2, 3}
3.4 Toán tử “^” và cách tìm phần bù giữa 2 tập hợp set trong Python
Phần bù giữa 2 tập hợp set trong python là tập hợp các phần tử chỉ chứa ở một trong hai tập hợp.
Để tìm phần bù giữa 2 tập hợp, chúng ta sử dụng toán tử “^” hoặc phương thức symmetric_difference() với cú pháp như duới đây:
Set1 = {1, 2, 3}
Set 2 = {1, 4, 6}
Cách 1: để tìm phần bù của set1 và set2, sau đó lưu kết quả vào 1 set mới, ta làm như sau:
set = set1 ^ set2
hoặc
set = set1.symmetric_difference(set2)
Print(set)
=> Kết quả trả về: {2, 3, 4, 6}
Cách 2: để tìm phần bù của set1 và set2, sau đó lưu kết quả vào set1, ta sử dụng toán tử “^=” hoặc phương thức symmetric_difference_update() như sau:
set1 ^= set2
hoặc
set1.symmetric_difference_update(set2)
Print(set1)
=> Kết quả trả về: {2, 3, 4, 6}
Thêm phần tử của set trong python
Để thêm phần tử vào Set trong Python, chúng ta có thể sử dụng hàm Add() để thêm phần tử, hoặc Update() cập nhật phần tử.
Hãy cùng xem xét các ví dụ dưới đây để hiểu rõ hơn:
set1={1, 2, 3}
#Thêm phần từ 4 vào set => bổ sung thêm phần tử 4
set1.add(4)
#update thêm phần tử 4,5,6 vào set1 => cập nhật và loại bỏ các phần tử trùng nhau
set1.update([4, 5, 6])
print(set1)
=> Kết quả thu được là: {1, 2, 3, 4, 5, 6}
Xóa phần tử của set trong python
Cách xoá bỏ phần tử ra khỏi Set chúng ta có thể sử dụng hai hàm là discard() và remove(). Cả hai đều có chung một mục đích là xoá phần tử khỏi set trong Python, tuy nhiên điểm khác biệt là với discard() thì sẽ không sinh lỗi nếu giá trị cần xóa không tồn tại, còn remove() thì sẽ sinh lỗi.
Ngoài ra chúng ta cũng có thể sử dụng Pop() để loại bỏ một phần tử trong set, tuy nhiên hàm này sẽ luôn loại bỏ phần tử cuối cùng trong Set. Hoặc nếu bạn sử dụng hàm Clear(), nó sẽ loại bỏ tất cả các phần tử trong Set.
Cùng tìm hiểu các cách thức xoá bỏ phần tử của set trong python đã liệt kê ở trên qua các ví dụ:
set1={1, 2, 3}
set1.discard(2)
#output sẽ xoá bỏ phần tử có giá trị là 2 và sẽ in ra màn hình các giá trị còn lại trong set
print(set1)
=> kết quả trả về sẽ là: {1, 3}
set1={1, 2, 3}
set.remove(4)
print(set1)
#output sẽ trả về có lỗi vì giá trị cần xoá bỏ không tồn tại
set1={1, 2, 3}
set.pop()
#output sẽ xoá giá trị cuối cùng trong set là 3 và in ra màn hình các giá trị còn lại trong set.
print(set1)
=> Kết quả trả về sẽ là: {1, 3}
set1={1, 2, 3}
set.clear()
#output sẽ xoá tất cả phần tử trong Set và in ra màn hình
print(set1)
=> Kết quả trả về sẽ là: {}
Các khóa học
- Data Engineer Track Specialized
- Combo Data Engineering Professional Hot
- Advanced AWS Cloud Data Engineer Specialized
- AWS Data Engineer for Beginners Specialized
- Combo Python Level 1 & Level 2 Bestseller
- Business Intelligence Track Hot
- Data Science Track Bestseller
- Data Analyst Professional (Data Analyst with Python Track) Bestseller
- RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
- RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
- Business Analyst Fast Track Bestseller
- Combo Business Analyst Level 1 & Level 2 Bestseller
- Business Analyst for Beginners Bestseller
Đăng ký tư vấn khóa học
*Vui lòng nhập số điện thoại của bạn
*Vui lòng nhập họ tên của bạn
*Vui lòng chọn giới tính
*Vui lòng chọn 1 trường