PHP
Python

Trang chủ

Các cách thêm phần tử vào 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
24/02/2025
12 phút đọc
Theo dõi Vietnix trên

Các cách thêm phần tử vào set trong Python

Thao tác với Set, đặc biệt là việc thêm phần tử mới, là một kỹ năng cơ bản mà người lập trình Python cần nắm vững. Có một số phương pháp để thực hiện việc này, mỗi phương pháp có những đặc điểm và ứng dụng riêng. Để hiểu rõ hơn về cách thêm phần tử vào set trong Python, mời bạn cùng Vietnix tìm hiểu chi tiết trong bài viết dưới đây.

Các điểm chính

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

  • Hiểu rõ các cách thêm phần tử vào set: Nắm vững các phương pháp cơ bản để làm việc với set trong Python.
  • Thành thạo phương thức add(): Biết cách dùng add() để thêm từng phần tử một cách đơn giản, kèm cú pháp và ví dụ cụ thể.
  • Sử dụng linh hoạt phương thức update(): Học cách thêm nhiều phần tử từ list, chuỗi ký tự hay bất kỳ sequence nào vào set chỉ trong một lần.
  • Khám phá toán tử Union và set comprehension: Áp dụng các cách hiện đại và hiệu quả để mở rộng set của bạn.
  • Biết được Vietnix – Nhà cung cấp giải pháp VPS uy tín với hiệu suất vượt trội.

Thêm phần tử vào set trong Python

Thêm phần tử vào set trong Python có nghĩa là đưa các phần tử mới vào một set đã có. Bạn có thể thêm phần tử vào set bằng nhiều phương thức khác nhau, chẳng hạn như add(), update(), hoặc các phép toán trên set như phép hợp (|) và set comprehension.

Thêm phần tử vào set trong Python có nghĩa là đưa các phần tử mới vào một set đã có.
Thêm phần tử vào set trong Python có nghĩa là đưa các phần tử mới vào một set đã có.

Một trong những đặc điểm quan trọng của set là khả năng chỉ chứa các đối tượng không thể thay đổi (có thể hash – hashable). Điều này là do set sử dụng hash table bên trong để kiểm tra phần tử có thuộc set hay không một cách nhanh chóng. Các đối tượng không thể thay đổi thì có thể hash, nghĩa là đối tượng đó có một giá trị hash không bao giờ thay đổi trong suốt “vòng đời” của đối tượng.

Các kiểu dữ liệu cơ bản là số nguyên, số thực, chuỗi và boolean đều có thể hash. Vì vậy set chỉ chấp nhận các đối tượng kiểu đó hoặc tuple.

Thêm phần tử vào set bằng phương thức add()

Phương thức add() trong Python được sử dụng để thêm một phần tử duy nhất vào một set. add() sẽ thay đổi set bằng cách thêm phần tử được chỉ định, nếu phần tử đó chưa có trong set. Nếu phần tử đã tồn tại trong set, phương thức add() không làm set có thay đổi.

Cú pháp

Cú pháp để thêm một phần tử vào một set:

tên_set.add(phần_tử)

Trong đó, phần_tử là một đối tượng thuộc kiểu dữ liệu không thể thay đổi – ví dụ: số, chuỗi, Tuple.

Ví dụ

Chúng ta sẽ dùng một ví dụ các loại trái cây:

# Khai báo một set rỗng
ngon_ngu = set()

# Thêm các phần tử vào set, sử dụng phương thức add()
ngon_ngu.add("C")
ngon_ngu.add("C++")
ngon_ngu.add("Java")
ngon_ngu.add("Python")

# In ra set đã được cập nhật
print("Set sau khi thêm:", ngon_ngu)

Kết quả sẽ là:

Set sau khi thêm: {‘Python’, ‘Java’, ‘C++’, ‘C’}

Giải thích code:

  • ngon_ngu = set(): Tạo một set rỗng có tên là ngon_ngu.
  • ngon_ngu.add("C"), ngon_ngu.add("C++"),…: Sử dụng phương thức add() để thêm các chuỗi "C", "C++", "Java", và "Python" vào set. Vì set không cho phép các phần tử trùng lặp, nên nếu bạn thêm một phần tử đã có, set sẽ không thay đổi.
  • print("Set sau khi thêm:", ngon_ngu): In set ngon_ngu sau khi đã thêm các phần tử. Thứ tự các phần tử trong kết quả có thể khác nhau, bởi vì set không duy trì thứ tự.

Thêm phần tử vào set với phương thức update()

Trong Python, phương thức update() của lớp set được sử dụng để thêm nhiều phần tử vào một set. Phương thức này sẽ chỉnh sửa set hiện tại bằng cách thêm các phần tử từ một đối tượng “có thể lặp” (iterable – như là một set khác, list, tuple, hoặc string) vào set đó. Các phần tử trong đối tượng iterable sẽ được thêm vào set nếu chúng chưa có trong set đó.

Cú pháp

Dưới đây là cú pháp để cập nhật (thêm) phần tử vào một set:

tên_set.update(đối_tượng)

Trong đó, đối_tượng là một set, hoặc một đối tượng sequence.

Ví dụ 1: Thêm một list vào set

Ở ví dụ này, ta sẽ khởi tạo một set tên là trai_cay_yeu_thich, thêm một list các loại trái cây ta muốn thêm vào set

# Khởi tạo một set
trai_cay_yeu_thich = {"Táo", "Chuối", "Cam"}

# List các loại quả muốn thêm
them_vao = ["Dâu tây", "Xoài", "Cam"] # Thêm "Cam" để thấy rằng set sẽ không thêm giá trị trùng lặp.
# Thêm phần tử vào set sử dụng update()
trai_cay_yeu_thich.update(them_vao)

# In ra set sau khi cập nhật
print("Các loại trái cây:", trai_cay_yeu_thich)

Khi chạy, kết quả bạn nhận được sẽ tương tự:

Các loại trái cây: {‘Dâu tây’, ‘Chuối’, ‘Cam’, ‘Xoài’, ‘Táo’}

Giải thích code:

  • Tạo một set trai_cay_yeu_thich: Tạo một set có tên là trai_cay_yeu_thich.
  • Khởi tạo một list them_vao: Khởi tạo một list có tên là them_vao.
  • Dùng phương thức update để thêm các phần tử vào trai_cay_yeu_thich: Sử dụng phương thức update để thêm các phần tử vào set trai_cay_yeu_thich. Chú ý “Cam” ở cả 2 nơi, nhưng ở set kết quả, không có sự lặp lại.

Ví dụ 2: Thêm bất kỳ đối tượng Sequence nào vào set

Phương thức update() không chỉ nhận set khác mà còn chấp nhận bất kỳ đối tượng sequence nào (như list, tuple, string) làm đối số.

Trong ví dụ này, chúng ta sẽ định nghĩa một set và một tuple, mon_hoc_yeu_thichmon_hoc_kho, chứa các môn học khác nhau. Sau đó, thêm tất cả các phần tử từ mon_hoc_kho vào mon_hoc_yeu_thich sử dụng phương thức update():

# Định nghĩa một set
mon_hoc_yeu_thich = {"Toán", "Văn", "Anh"}

# Định nghĩa một tuple
mon_hoc_kho = ("Hóa", "Lý", "Sinh", "Toán") # "Toán" sẽ không bị thêm 2 lần

# Thêm các phần tử từ tuple vào set
mon_hoc_yeu_thich.update(mon_hoc_kho)

print(mon_hoc_yeu_thich)

Kết quả thu được sẽ tương tự như sau (thứ tự có thể khác):

{‘Anh’, ‘Văn’, ‘Toán’, ‘Lý’, ‘Hóa’, ‘Sinh’}

Giải thích code:

  • Tạo set mon_hoc_yeu_thich: Tạo một set có tên là mon_hoc_yeu_thich.
  • Tạo tuple mon_hoc_kho: Tạo một tuple có tên là mon_hoc_kho.
  • update(): update() thêm các phần tử duy nhất từ mon_hoc_kho (tuple) vào mon_hoc_yeu_thich (set). “Toán” xuất hiện ở cả hai, nhưng set chỉ giữ một bản sao.

Ví dụ 3: Thêm các ký tự của string vào một set

Trong ví dụ này, một set được tạo từ một string, và một string khác được sử dụng làm đối số cho phương thức update():

# Khởi tạo Set từ 1 String
nguyen_am = set("aeiou")
# Cập nhật set bằng các ký tự từ một string khác.
nguyen_am.update("AEIOU")
print(nguyen_am)

Kết quả sẽ như sau (thứ tự có thể xáo trộn):

{‘a’, ‘e’, ‘i’, ‘o’, ‘u’, ‘U’, ‘I’, ‘E’, ‘O’, ‘A’}

Giải thích code:

  • Ban đầu nguyen_am = set("aeiou"): set được khởi tạo có những nguyên âm thường.
  • Ta thêm vào set này với một string khác là "AEIOU": Kết quả là set nguyen_am chứa toàn bộ nguyên âm viết thường và viết hoa (không có ký tự lặp lại).
  • Hàm update(): Có thể dùng với bất cứ sequence nào.

Thêm phần tử vào set bằng toán tử Union

Trong Python, toán tử hợp (|) được sử dụng để thực hiện phép toán hợp giữa hai set. Phép hợp của hai set chứa tất cả các phần tử riêng biệt có trong cả hai set, không có phần tử nào bị trùng lặp.

Chúng ta có thể thêm phần tử vào set bằng cách thực hiện phép hợp giữa hai set, thông qua toán tử | hoặc hàm union(). Cách làm này sẽ kết hợp các phần tử từ cả hai set vào một set mới, chứa tất cả các phần tử duy nhất có trong cả hai set ban đầu. Thêm phần tử vào set trong Python bằng phương thức hợp là một cách phổ biến.

Ví dụ 1

Ví dụ sau đây kết hợp các set bằng cách sử dụng phương thức union() và toán tử | để tạo set mới chứa các phần tử duy nhất từ các set ban đầu:

# Định nghĩa ba set
ngon_ngu_1 = {"C", "C++", "Java", "Python"}
ngon_ngu_2 = {"PHP", "C#", "Perl"}
ngon_ngu_3 = {"SQL", "C#"}

# Thực hiện phép hợp
tap_hop_moi_1 = ngon_ngu_1.union(ngon_ngu_2)
tap_hop_moi_2 = ngon_ngu_2 | ngon_ngu_3

# In ra các set mới
print("Tập hợp mới 1:", tap_hop_moi_1)
print("Tập hợp mới 2:", tap_hop_moi_2)

Kết quả của đoạn code trên như sau:

Tập hợp mới 1: {‘C#’, ‘Perl’, ‘C++’, ‘Java’, ‘PHP’, ‘Python’, ‘C’}
Tập hợp mới 2: {‘C#’, ‘Perl’, ‘PHP’, ‘SQL’}

Ví dụ 2

Nếu một đối tượng dạng chuỗi được truyền làm đối số cho phương thức union(), Python sẽ tự động chuyển đổi đối tượng đó thành một set trước khi thực hiện phép hợp:

ngon_ngu_A = {"C", "C++", "Java", "Python"}
ngon_ngu_B = ["PHP", "C#", "Perl"]  # Đây là một List
tap_hop_ket_qua = ngon_ngu_A.union(ngon_ngu_B)
print(tap_hop_ket_qua)

Kết quả thu được là:

{‘PHP’, ‘C#’, ‘Python’, ‘C’, ‘Java’, ‘C++’, ‘Perl’}

Thêm phần tử vào set với set comprehension

Trong Python, set comprehension là một cách để tạo ra các set bằng một dòng code duy nhất. Set comprehension cho phép bạn tạo một set mới bằng cách áp dụng một biểu thức cho từng phần tử trong một iterable và bạn có thể tùy chọn thêm một điều kiện để lọc các phần tử.

Thêm phần tử vào set trong Python có thể được thực hiện dễ dàng bằng set comprehension. Chúng ta duyệt qua một iterable, áp dụng một biểu thức lên từng phần tử, và đặt biểu thức comprehension đó trong cặp ngoặc nhọn {} để tạo một set mới chứa kết quả của biểu thức vừa áp dụng.

Trong ví dụ sau, chúng ta định nghĩa một list chứa các số nguyên, sau đó sử dụng set comprehension để tạo một set chứa bình phương của các số nguyên đó:

# Định nghĩa một list chứa các số nguyên
numbers = [1, 2, 3, 4, 5]

# Tạo một set chứa bình phương của các số sử dụng set comprehension
squares_set = {num ** 2 for num in numbers}

# In ra set chứa bình phương của các số
print("Squares Set:", squares_set)

Kết quả khi chạy đoạn code trên:

Squares Set: {1, 4, 9, 16, 25}

Giải thích code:

  • numbers = [1, 2, 3, 4, 5]: Tạo một list có tên là numbers chứa các số nguyên từ 1 đến 5.
  • squares_set = {num ** 2 for num in numbers}: Đây chính là set comprehension.
  • for num in numbers:: Vòng lặp này duyệt qua từng phần tử trong list numbers. Với mỗi lần lặp, giá trị của phần tử đó sẽ được gán cho biến num.
  • num ** 2: Biểu thức này tính bình phương của num.
  • {...}: Dấu ngoặc nhọn bao quanh biểu thức comprehension để cho Python biết rằng kết quả trả về sẽ là một set.
  • print("Squares Set:", squares_set): In set squares_set ra màn hình.

Vietnix – Nhà cung cấp giải pháp VPS uy tín với hiệu suất vượt trội

Vietnix tự hào với hơn 12 năm kinh nghiệm trong ngành, phục vụ hơn 80.000 khách hàng và đã kích hoạt hơn 100.000 dịch vụ, trở thành một trong những nhà cung cấp dịch vụ thuê VPS hàng đầu tại Việt Nam. Với thành tích vững vàng, Vietnix cam kết mang đến cho khách hàng những giải pháp VPS tối ưu, chất lượng cao và uy tín. VPS của Vietnix được trang bị ổ cứng SSD/NVMe Enterprise và CPU Intel Xeon, AMD, đảm bảo hiệu suất vượt trội và tốc độ tải trang nhanh chóng.

VPS giá rẻ từ Vietnix cung cấp nhiều gói dịch vụ linh hoạt, đáp ứng nhu cầu và ngân sách của khách hàng. Quá trình khởi tạo nhanh chóng, với khả năng nâng cấp và hạ cấp linh hoạt. Dịch vụ sử dụng ổ cứng SSD Enterprise RAID 10 và tốc độ mạng 100 Mbps, đảm bảo hiệu suất vượt trội cho các ứng dụng và website. Datacenter chuẩn Tier 3 và bảo mật đạt chứng nhận ISO 27001:2022 bảo vệ dữ liệu toàn diện. Với uptime 99.9% và chính sách đền bù rõ ràng, VPS giá rẻ của Vietnix là lựa chọn an toàn và tiết kiệm.

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/

Qua bài viết này, chúng ta đã cùng nhau khám phá các phương pháp thêm phần tử vào set trong Python, từ phương thức add(), update() đến toán tử Union và set comprehension. Hy vọng những kiến thức này sẽ giúp bạn thao tác với set một cách hiệu quả hơn trong quá trình lập trình.

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