Bạn có thể sử dụng các bộ trong Python để lưu trữ một tập hợp dữ liệu trong một biến duy nhất.
Mỗi cấu trúc dữ liệu tích hợp trong Python như danh sách, từ điển và bộ dữ liệu đều có các tính năng phân biệt của chúng.
Dưới đây là một số tính năng của bộ trong Python:
- Các mục trùng lặp không được phép. Nếu các mục xuất hiện nhiều lần, thì chỉ một mục sẽ được nhận dạng trong tập hợp.
- Các mục trong một bộ không có thứ tự. Thứ tự của bộ thay đổi mỗi khi nó được sử dụng.
- Giá trị của các mục trong một bộ không thể được sửa đổi/thay đổi sau khi bộ đã được tạo.
Trong bài viết này, bạn sẽ tìm hiểu cách tạo bộ. Bạn cũng sẽ tìm hiểu cách truy cập, thêm và xóa các mục trong một bộ bằng Python.
Chúng ta sẽ kết thúc bằng cách nói về một số trường hợp sử dụng tập hợp trong lập trình Python và toán học.
Cách tạo bộ trong Python
Chúng tôi sử dụng dấu ngoặc nhọn để lưu trữ các mục trong một bộ. Đây là những gì một bộ trông giống như:
nameSet = {"John", "Jane", "Doe"}
print(nameSet)
# {'Jane', 'Doe', 'John'}
Trong đoạn mã trên, chúng tôi đã tạo một tập hợp có tên nameSet
.
Bạn sẽ nhận thấy rằng khi tập hợp được in ra, các giá trị xuất hiện theo một thứ tự khác. Đây là một trong những tính năng của bộ trong Python mà tôi đã đề cập ở trên.
Đây là một ví dụ khác với một mục trùng lặp:
nameSet = {"John", "Jane", "Doe", "Jane"}
print(nameSet)
# {'Jane', 'Doe', 'John'}
Bản sao của “Jane” đã bị bỏ qua trong ví dụ trên. Điều này là do các mục trùng lặp không được phép.
Cách truy cập các mục trong một tập hợp bằng Python
Bạn có thể sử dụng vòng lặp để truy cập và in các mục trong một bộ. Bạn không thể sử dụng chỉ mục của các mục để truy cập chúng vì thứ tự luôn thay đổi–- không có mục nào giữ lại chỉ mục của nó.
Đây là một ví dụ:
nameSet = {"John", "Jane", "Doe"}
for names in nameSet:
print(names)
# John
# Doe
# Jane
chúng tôi sử dụng một for
vòng lặp để in các mục trong nameSet
Trong phần tiếp theo, bạn sẽ thấy cách thêm các mục vào một tập hợp.
Cách thêm các mục vào một tập hợp trong Python
Bạn có thể thêm một mục vào một tập hợp trong Python bằng cách sử dụng add()
phương thức với mục mới sẽ được thêm vào dưới dạng tham số.
Đây là một ví dụ:
nameSet = {"John", "Jane", "Doe"}
nameSet.add("Ihechikara")
print(nameSet)
# {'John', 'Ihechikara', 'Doe', 'Jane'}
Chúng tôi đã thêm một mục mới – “Ihechikara” – vào bộ: nameSet.add("Ihechikara")
.
Bạn cũng có thể thêm một mục từ một tập hợp khác hoặc các cấu trúc dữ liệu khác (danh sách, từ điển và bộ dữ liệu) vào một tập hợp bằng cách sử dụng update()
phương pháp.
Đây là một ví dụ:
nameSet = {"John", "Jane", "Doe"}
nameSet2 = {"Jade", "Jay"}
nameSet.update(nameSet2)
print(nameSet)
# {'Doe', 'Jay', 'Jane', 'Jade', 'John'}
Để thêm tên từ nameSet2
đến nameSet
chúng tôi đã vượt qua nameSet2
như một tham số cho update()
phương pháp: nameSet.update(nameSet2)
.
Cách xóa các mục trong một tập hợp bằng Python
Có nhiều phương pháp khác nhau mà bạn có thể sử dụng để xóa (các) mục trong một bộ. Bây giờ chúng ta hãy nhìn vào chúng.
Cách xóa các mục trong một tập hợp bằng Python bằng cách sử dụng discard()
Phương pháp
Bạn có thể dùng discard()
phương pháp để loại bỏ một mục cụ thể. Đây là một ví dụ:
nameSet = {"John", "Jane", "Doe"}
nameSet.discard("John")
print(nameSet)
# {'Doe', 'Jane'}
Trong ví dụ trên, “John” được truyền dưới dạng tham số cho discard()
phương thức để nó bị xóa khỏi tập hợp.
Cách xóa các mục trong một tập hợp bằng Python bằng cách sử dụng remove()
Phương pháp
Các remove()
phương thức hoạt động tương tự như discard()
phương pháp.
nameSet = {"John", "Jane", "Doe"}
nameSet.remove("Jane")
print(nameSet)
# {'John', 'Doe'}
Cách làm trống một tập hợp trong Python bằng cách sử dụng clear()
Phương pháp
Để xóa tất cả các mục trong một bộ, chúng tôi sử dụng clear()
phương pháp.
Đây là một ví dụ:
nameSet = {"John", "Jane", "Doe"}
nameSet.clear()
print(nameSet)
# set()
Khi nào nên sử dụng Set trong Python
Trong phần này, chúng ta sẽ thảo luận về hai trường hợp sử dụng quan trọng của bộ trong Python.
Chúng ta có thể sử dụng các bộ để loại bỏ các mục trùng lặp trong các cấu trúc dữ liệu khác.
Chúng ta cũng có thể thực hiện một số phép toán thú vị như lấy hợp, giao, hiệu và hiệu đối xứng của hai hoặc nhiều tập hợp.
Cách sử dụng Bộ để loại bỏ các mục trùng lặp trong cấu trúc dữ liệu khác
Chúng ta có thể sử dụng các bộ để loại bỏ các mục trùng lặp trong các cấu trúc dữ liệu khác như danh sách và bộ dữ liệu.
Điều này hữu ích khi bạn đang xử lý một tập dữ liệu rất lớn chỉ yêu cầu đơn vị mục riêng lẻ được trả về thay vì số lần xuất hiện của các mục.
Đây là một ví dụ:
numberList = [2, 2, 4, 8, 9, 10, 8, 2, 5, 7, 3, 4, 7, 9]
numberSet = set(numberList)
print(numberSet)
# {2, 3, 4, 5, 7, 8, 9, 10}
Trong đoạn mã trên, chúng tôi tạo một danh sách các số gọi là numberList
trong đó có nhiều lần xuất hiện của một số số: [2, 2, 4, 8, 9, 10, 8, 2, 5, 7, 3, 4, 7, 9]
.
Sử dụng set()
phương pháp, chúng tôi đã chuyển đổi danh sách numberList
thành một tập hợp: numberSet = set(numberList)
.
Khi bộ mới được in ra, tất cả các số trùng lặp đã bị xóa – chúng tôi chỉ nhận được một lần xuất hiện của mỗi số được trả về: {2, 3, 4, 5, 7, 8, 9, 10}
.
Cách thực hiện các phép toán bằng cách sử dụng các tập hợp trong Python
Tập hợp trong Python tương tự như tập hợp trong toán học và chúng ta có thể nhận được nhiều kết quả khác nhau dựa trên mối quan hệ tồn tại giữa các tập hợp.
Trong phần này, bạn sẽ thấy cách lấy hợp, giao, hiệu và hiệu đối xứng giữa các tập hợp trong Python.
Bạn có thể thực hiện tất cả các thao tác trong phần này bằng nhiều hơn hai bộ. Để đơn giản nhất có thể, chúng tôi sẽ chỉ sử dụng hai bộ cho mỗi ví dụ.
Cách lấy Liên minh các tập hợp trong Python
Hợp của hai tập hợp là tập hợp của tất cả các mục riêng lẻ tồn tại trong cả hai tập hợp. Trong công đoàn, các bản sao được bỏ qua.
Đây là một ví dụ:
firstSet = {2, 3, 4, 5}
secondSet = {1, 3, 5, 7}
print(firstSet | secondSet)
# {1, 2, 3, 4, 5, 7}
Trong ví dụ trên, chúng ta có hai bộ – firstSet = {2, 3, 4, 5}
và secondSet = {1, 3, 5, 7}
.
Sử dụng toán tử thanh dọc (|
), ta có thể lấy hợp của hai tập hợp: firstSet | secondSet
.
Hợp của các tập hợp như sau: {1, 2, 3, 4, 5, 7}. Bạn có thể thấy rằng hai bộ đã được kết hợp để tạo thành một bộ mà không có bất kỳ bản sao nào.
Cách lấy giao điểm của các tập hợp trong Python
Giao của hai tập hợp là tập hợp các phần tử chung cho cả hai tập hợp. Trong trường hợp của chúng tôi, đó là tập hợp các mục xuất hiện trong cả hai firstSet
và secondSet
.
Đây là một ví dụ:
firstSet = {2, 3, 4, 5}
secondSet = {1, 3, 5, 7}
print(firstSet & secondSet)
# {3, 5}
Trong ví dụ này, chúng tôi đang sử dụng &
toán tử để có được giao điểm của firstSet
và secondSet
: firstSet & secondSet
.
Chúng tôi đã trả lại {3, 5} vì 3 và 5 xuất hiện trong cả hai bộ.
Cách lấy sự khác biệt giữa các bộ trong Python
Sự khác biệt giữa hai tập hợp là tập hợp tất cả các mục tồn tại trong một tập hợp nhưng không tồn tại trong tập hợp kia.
Đây là một ví dụ:
firstSet = {2, 3, 4, 5}
secondSet = {1, 3, 5, 7}
print(firstSet - secondSet)
# {2, 4}
Trong ví dụ trên, chúng tôi đang nhận được một tập hợp các mục tồn tại trong firstSet
nhưng không phải trong secondSet
.
chúng tôi đã sử dụng -
nhà điều hành để đạt được điều này: firstSet - secondSet
.
Kết quả từ hoạt động là 2 và 4.
Cách lấy chênh lệch đối xứng của các tập hợp trong Python
Hiệu đối xứng của hai tập hợp là tập hợp gồm tất cả các phần tử tồn tại ở một trong hai tập hợp nhưng không tồn tại ở cả hai tập hợp.
Trong phần trước, chúng ta đã thấy kết quả của các mục chỉ tồn tại trong một tập hợp mà không tồn tại trong tập hợp kia. Sự khác biệt đối xứng là kết quả của các mục tồn tại trong mỗi bộ nhưng không tồn tại trong cả hai.
firstSet = {2, 3, 4, 5}
secondSet = {1, 3, 5, 7}
print(firstSet ^ secondSet)
# {1, 2, 4, 7}
chúng tôi đã sử dụng ^
toán tử để lấy hiệu đối xứng của hai tập hợp: firstSet ^ secondSet
.
Kết quả là 1, 2, 4, 7. Mỗi mục này không xuất hiện trong cả hai bộ.
Tóm lược
Trong bài viết này, chúng ta đã nói về các tập hợp và cách tạo chúng trong Python.
Các bộ không cho phép các mục trùng lặp, chúng không có thứ tự và không thể sửa đổi các mục được lưu trữ trong đó.
Chúng tôi cũng đã xem cách truy cập, thêm và xóa các mục trong bộ bằng các phương pháp khác nhau.
Cuối cùng, chúng ta đã nói về thời điểm sử dụng bộ trong Python. Chúng ta đã thấy một số ứng dụng của tập hợp trong Python và việc sử dụng nó trong các phép toán.
Chúc mừng mã hóa!