Kiểu dữ liệu Set trong Python – Phần 2

Lập trình Python cơ bản

0.0 (0 đánh giá)
Tạo bởi Katsu Cập nhật lần cuối 16:59 16-11-2021 298 lượt xem 0 bình luận
Tác giả/Dịch giả: Kteam nttoan_2005
Học nhanh

Danh sách bài học

Kiểu dữ liệu Set trong Python – Phần 2

Dẫn nhập

Trong các bài trước, Kteam đã giới thiệu đến bạn kiểu dữ liệu set

Ở bài này Kteam sẽ giới thiệu tới bạn các phương thức của set


Nội dung

Để đọc hiểu bài này tốt nhất bạn cần:

Trong bài này, chúng ta sẽ cùng tìm hiểu về Các phương thức của kiểu dữ liệu Set trong Python


Các phương thức của Set

Các phương thức tiện ích

Phương thức clear

Cú pháp:

<Set>.clear()

Công dụng: Loại bỏ hết tất cả các phần tử có trong Set

Ví dụ:

>>> set_ 1= {1, 2}
>>> set_1.clear()
>>> set_1
set()

Phương thức copy

Cú pháp:

<Set>.copy()

Công dụng: Trả về một bản sao của Set

Ví dụ:

>>> a = {1, 2}
>>> b = a.copy()
>>> b
{1, 2}
>>> a
{1, 2}

Các phương thức đối sánh

Các phương thức đối sánh có công dụng giống như các toán tử đối với set (điều mà chúng ta đã tìm hiểu ở bài trước). Điểm khác biệt duy nhất là các phương thức cho phép hoạt động với các iterable. Do đó, Kteam xin phép chỉ nói sơ qua về các phương thức này.


Phương thức union

(Toán tử “|”)

Cú pháp:

<Set>.union(iterable_1, iterable_2,...)

Ví dụ:

>>> a = {1, 2, 3, 4, 5}
>>> b = {2, 4, 5, 6}
>>> a.union(b)
{1, 2, 3, 4, 5, 6}
>>> a | b
{1, 2, 3, 4, 5, 6}

Phương thức intersection

(Toán tử “&”)

Cú pháp:

<Set>.intersection(iterable_1, iterable_2,...)

Ví dụ:

>>> a = {1, 2, 3, 4, 5}
>>> b = {2, 4, 5, 6}
>>> a.intersection(b)
{2, 4, 5}
>>> a & b
{2, 4, 5}

Phương thức difference

(Toán tử “-”)

Cú pháp:

<Set>.difference(iterable_1, iterable_2,...)

Ví dụ:

>>> a = {1, 2, 3, 4, 5}
>>> b = {2, 4, 5, 6}
>>> a.difference(b)
{1, 3}
>>> a - b
{1, 3}

Phương thức symmetric_difference()

(Toán tử “^”)

Cú pháp:

<Set>.symmetric_difference(iterable)

Lưu ý: Khác với các phương thức còn lại, phương thức symmetric_difference chỉ cho phép chứa một iterable. Khác với toán tử “^” có thể áp dụng cho nhiều set khác nhau.

Ví dụ:

>>> a = {1, 2, 3}
>>> b = {2, 3, 4}
>>> c = {3, 4, 5}
>>> a ^ b ^ c
{1, 3, 5}
>>> a.symmetric_difference(b, c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: set.symmetric_difference() takes exactly one argument (2 given)
>>> a.symmetric_difference([2, 3, '6', '7'])
{1, '6', '7'}

Các phương thức cập nhật

Phương thức pop

Cú pháp:

<Set>.pop()

Công dụng: Kết quả trả về một giá trị được lấy ra từ Set, đồng thời loại bỏ giá trị đã lấy ra khỏi Set ban đầu

  • Nếu là set rỗng, sẽ có lỗi

Ví dụ:

>>> set_1 = {1, 2}
>>> set_1.pop()
1
>>> set_1
{2}
>>> set_1.pop()
2
>>> set_1
set()
>>> set_1.pop()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'pop from an empty set'

Lưu ý: trong một số trường hợp, bạn sẽ pop được các giá trị từ set ra từ bé đến lớn. Nhưng đó không phải bản chất của nó, việc pop này liên quan đến các giá trị của hàm hash trong của các phần từ. Đó là lí do set chỉ chứa các phần tử là các hashable object. Vì kiến thức này không quan trọng ở mức cơ bản nên Kteam xin phép được bỏ qua.


Phương thức remove

Cú pháp:

<Set>.remove(value)

Công dụng: Loại bỏ giá trị value ở trong Set. Nếu như value không ở trong Set, thông báo lên lỗi KeyError.

Ví dụ:

>>> a = {1, 2}
>>> a.remove(1)
>>> a
{2}
>>> a.remove(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 3

Phương thức discard

Cú pháp:

<Set>.discard(value)

Công dụng: Loại bỏ giá trị value ở trong Set. Nếu như value không ở trong Set, thì sẽ bỏ qua.

Ví dụ:

>>> a = {1, 2}
>>> a.discard(1)
>>> a
{2}
>>> a.discard(4)
>>> a
{2}

Phương thức add

Cú pháp:

<Set>.add(value)

Công dụng: Thêm value vào trong set. Nếu như value đã có trong Set thì bỏ qua.

Ví dụ:

>>> a = {1, 2}
>>> a.add(3)
>>> a
{1, 2, 3}
>>> a.add(2)
>>> a
{1, 2, 3}

Phương thức update

Cú pháp:

<Set>.update(iterable_1, iterable_2,…)

Công dụng: Lần lượt thêm các phần tử của các iterable vào trong set (nếu chưa có sẵn).

Ví dụ:

>>> a = {1, 2, 3}
>>> a.update('abc')
>>> a
{1, 2, 3, 'a', 'b', 'c'}
>>> b = {'a', 'b', 'c'}
>>> b.update('def', [1, 2, 3], (4, 5, 6))
>>> b
{1, 2, 3, 4, 5, 6, 'a', 'e', 'b', 'f', 'd', 'c'}

Các phương thức xác thực

Phương thức issubset

Cú pháp:

<Set>.issubset(OtherSet)

Công dụng: Trả về True nếu toàn bộ các phần tử của Set đều thuộc OtherSet (Set là tập hợp con của OtherSet). Ngược lại trả về False.

Ví dụ:

>>> a = {'1', 2, '3', 5, '5'}
>>> b = {'1', '3', '5'}
>>> b.issubset(a)
True

Lưu ý: Một set trống luôn luôn là tập hợp con của một set khác

>>> a = {1, 2}
>>> set().issubset(a)
True
>>> b = set()
>>> set().issubset(b)
True

Phương thức issuperset

Cú pháp:

<Set>.issuperset(OtherSet)

Công dụng: Trả về True nếu toàn bộ các phần tử của OtherSet đều thuộc Set (OtherSet là tập hợp con của Set). Ngược lại trả về False.

Ví dụ:

>>> a = {'1', 2, '3', 5, '5'}
>>> b = {'1', '3', '5'}
>>> a.issuperset(b)
True

Lưu ý: Nếu đối số bên trong phương thức là một set trống thì phương thức luôn luôn trả về True

>>> a = {1, 2}
>>> a.issuperset(set())
True
>>> b = set()
>>> a.issuperset(b)
True

Kết luận

Bài viết này đã giới thiệu cho các bạn CÁC PHƯƠNG THỨC CỦA SET TRONG PYTHON.

Ở bài sau, Kteam sẽ nói về một kiểu dữ liệu khác của Python chính là KIỂU DỮ LIỆU DICT (DICTIONARY).

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả


A stupid student who wants to bring knowledge to everyone.

 

Khóa học

Lập trình Python cơ bản

Lập trình Python cơ bản

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Không có video.