PHP
Python

Trang chủ

Các bài tập về set trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
27/02/2025
7 phút đọc
Theo dõi Vietnix trên

Các bài tập về set trong Python

Set trong Python không chỉ là một kiểu dữ liệu, mà còn là công cụ đắc lực giúp bạn giải quyết nhiều bài toán lập trình một cách hiệu quả. Trong bài viết này, mình sẽ cùng bạn thực hành một số bài tập về set trong Python điển hình. Qua đó, bạn sẽ hiểu rõ cách áp dụng set để đơn giản hóa code và tối ưu hóa thuật toán.

Các điểm chính

Đọc xong bài viết, bạn sẽ:

  • Nắm cách tìm phần tử chung giữa hai list: Biết cách dùng set để giải bài tập tìm giao điểm một cách nhanh chóng.
  • Kiểm tra subset dễ dàng: Hiểu cách xác định một set có phải là tập con của set khác hay không qua bài tập thực tế.
  • Lấy danh sách phần tử duy nhất: Thành thạo việc dùng set để loại bỏ trùng lặp từ một list chỉ trong vài bước.
  • Rèn kỹ năng lập trình thực tế: Các bài tập đơn giản, dễ hiểu giúp bạn áp dụng kiến thức về set ngay lập tức.
  • Biết đến Vietnix – Nhà cung cấp dịch vụ VPS chuyên nghiệp và tốc độ cao tại Việt Nam.

Bài tập về set trong Python – Tìm các phần tử chung trong hai List

Chương trình Python sau đây tìm các phần tử chung trong hai List (danh sách) với sự hỗ trợ của các phép toán trên Set:

l1 = [1, 2, 3, 4, 5]
l2 = [4, 5, 6, 7, 8]
s1 = set(l1)
s2 = set(l2)
commons = s1 & s2  # Hoặc s1.intersection(s2)
commonlist = list(commons)
print(commonlist)

Khi chạy đoạn code trên, màn hình sẽ hiển thị kết quả:

[4, 5]

Giải thích:

  • Khai báo List: Hai List l1l2 được khởi tạo với các giá trị số nguyên khác nhau.
  • Chuyển đổi thành Set: Các List l1l2 được chuyển đổi thành các Set s1s2 bằng cách sử dụng hàm set().
  • Tìm phần tử chung:
    • Toán tử & (phép giao): được sử dụng để tìm các phần tử chung giữa s1s2. Kết quả được gán cho biến commons (vẫn là một Set).
    • # Hoặc s1.intersection(s2): cho thấy một cách khác để tìm phần tử chung là sử dụng phương thức của set trong Python, cụ thể intersection(), cách này cũng tìm các phần tử giao giữa s1s2.
  • Chuyển về List: Set commons chứa các phần tử chung được chuyển trở lại thành một List bằng hàm list(). Kết quả được gán cho biến commonlist.
  • In kết quả: List commonlist (chứa các phần tử chung) được in ra màn hình.

Bài tập về set trong Python – Kiểm tra một set có phải là subset

Viết chương trình Python để kiểm tra xem một set có phải là tập con của một set khác hay không.

s1 = {1, 2, 3, 4, 5}
s2 = {4, 5}

if s2.issubset(s1):
    print("s2 là tập con của s1")
else:
    print("s2 không phải là tập con của s1")

Kết quả khi chạy code:

s2 là tập con của s1

Giải thích chi tiết:

  • Khai báo Set:
    • s1 = {1, 2, 3, 4, 5}: Tạo một set s1 chứa các số nguyên từ 1 đến 5.
    • s2 = {4, 5}: Tạo một set s2 chứa hai số nguyên là 4 và 5.
  • Kiểm tra tập con (Sử dụng phương thức của Set trong Python):
    • s2.issubset(s1): Đây là phần quan trọng. Đoạn mã này sử dụng phương thức của Set trong Python là issubset(). Phương thức issubset() kiểm tra xem tất cả các phần tử của s2 có nằm trong s1 hay không. Nếu tất cả các phần tử của set này (s2) đều có mặt trong set kia (s1), phương thức sẽ trả về True; ngược lại, trả về False.
  • In kết quả:
    • Vòng if/else: kiểm tra kết quả trả về từ s2.issubset(s1). Nếu True, chương trình in ra “s2 là tập con của s1”. Ngược lại, chương trình in ra “s2 không phải là tập con của s1”.

Lưu ý: Khai báo List: Hai List l1 và l2 được khởi tạo với các giá trị số nguyên khác nhau.

Bài tập về set trong Python – Lấy danh sách phần tử duy nhất từ một list

Viết chương trình Python để lấy ra một danh sách các phần tử duy nhất (không trùng lặp) từ một list cho trước.

T1 = (1, 9, 1, 6, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 2)
s1 = set(T1)
print(s1)

Kết quả khi chạy:

{1, 2, 3, 4, 5, 6, 7, 8, 9}

Giải thích từng bước:

  • Tạo Tuple:
  • T1 = (1, 9, 1, 6, 3, 4, 5, 1, 1, 2, 5, 6, 7, 8, 9, 2): Dòng này tạo một Tuple tên là T1, chứa nhiều số nguyên, trong đó có những số lặp lại.
  • Chuyển đổi Tuple thành Set:
  • s1 = set(T1): Đây là điểm mấu chốt. Dòng code này tạo một Set mới tên là s1 từ Tuple T1. Trong Python, Set có một đặc điểm quan trọng: Set chỉ chứa các phần tử duy nhất. Khi chuyển T1 thành Set, các phần tử trùng lặp tự động bị loại bỏ.
  • In kết quả:
  • print(s1): In Set s1 ra màn hình. Kết quả sẽ là một tập hợp chỉ chứa các phần tử duy nhất từ T1, không còn phần tử nào trùng lặp.

Vietnix – Nhà cung cấp dịch vụ VPS chuyên nghiệp và tốc độ cao tại Việt Nam

Với hơn 12 năm kinh nghiệm và phục vụ hàng chục ngàn khách hàng, Vietnix mang đến dịch vụ thuê VPS đa dạng, đáng tin cậy. Dịch vụ VPS nổi bật với khả năng tải trang nhanh chóng và tốc độ vượt trội, giúp nâng cao trải nghiệm người dùng, từ đó thúc đẩy doanh số bán hàng. Bên cạnh đó, Vietnix cung cấp các tiện ích như sao lưu dữ liệu tự động miễn phí hàng tuần, dễ dàng khôi phục dữ liệu và quản lý máy chủ linh hoạt qua giao diện Portal đa năng, hỗ trợ nhiều hệ điều hành và cho phép người dùng tự chủ động cài đặt, theo dõi tài nguyên.

Đối với dịch vụ VPS AMD, điểm nhấn chính là khả năng vận hành website mượt mà, hướng tới việc tăng chuyển đổi và thúc đẩy doanh thu. Sức mạnh từ ổ cứng NVMe Enterprise siêu tốc giúp tăng tốc độ truy cập dữ liệu, kết hợp cùng CPU AMD EPYC mạnh mẽ, VPS AMD đảm bảo khả năng xử lý vượt trội, đáp ứng mọi yêu cầu về hiệu năng. VPS AMD cũng được trang bị tốc độ mạng 200 Mbps trong nước và 20 Mbps quốc tế, mang lại trải nghiệm truy cập nhanh chóng cho người dùng.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/

Vậy là chúng ta đã cùng nhau khám phá các bài tập thú vị về set trong Python, từ tìm phần tử chung giữa các list, kiểm tra tập con, đến việc lọc ra các phần tử duy nhất. Hy vọng rằng những kiến thức và bài tập này sẽ giúp bạn củng cố kỹ năng làm việc với set, một cấu trúc dữ liệu vô cùng hữu ích trong Python.

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn