Nếu bạn là người mới bắt đầu học Python, rất có thể bạn đã bắt gặp các danh sách. Nhưng bạn đã nghe nói về bộ trong Python chưa?
Trong hướng dẫn này, chúng ta sẽ khám phá bộ là gì, cách tạo chúng và các thao tác khác nhau mà bạn có thể sử dụng trên chúng
Bộ trong Python là gì?Trong Python, tập hợp hoàn toàn giống như danh sách ngoại trừ thực tế là các phần tử của chúng là bất biến [có nghĩa là bạn không thể thay đổi/biến đổi một phần tử của tập hợp sau khi đã khai báo]. Tuy nhiên, bạn có thể thêm/bớt các phần tử khỏi tập hợp
Nếu điều đó gây nhầm lẫn, hãy để tôi thử và tóm tắt
Một tập hợp là một nhóm các phần tử có thể thay đổi, không có thứ tự, trong đó bản thân các phần tử là bất biến
Một đặc điểm khác của một tập hợp là nó có thể bao gồm các phần tử thuộc các kiểu khác nhau. Điều này có nghĩa là bạn có thể có một nhóm số, chuỗi và thậm chí cả bộ, tất cả trong cùng một tập hợp
Cách tạo một bộCách phổ biến nhất để tạo một tập hợp trong Python là sử dụng hàm
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
5 tích hợp sẵn>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
Bạn cũng có thể tạo các bộ bằng cách sử dụng cú pháp dấu ngoặc nhọn
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
6>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
Hàm
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
5 nhận một iterable và đưa ra một danh sách các đối tượng sẽ được chèn vào tập hợp. Cú pháp >>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
6 tự đặt các đối tượng vào tập hợpNhư bạn có thể đã nhận ra, cho dù bạn sử dụng hàm
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
5 hay hàm >>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
6 để tạo một tập hợp, thì mỗi phần tử cần phải là một đối tượng bất biến. Vì vậy, nếu bạn thêm một danh sách [là một đối tượng có thể thay đổi] vào một tập hợp, bạn sẽ gặp lỗi>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
Cách thêm hoặc bớt các phần tử trong một tập hợpChúng ta đã biết rằng các tập hợp có thể thay đổi. Điều này có nghĩa là bạn có thể thêm/bớt các phần tử trong một tập hợp
Đây là một ví dụ về việc thêm các phần tử vào một tập hợp bằng cách sử dụng hàm
>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
1>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
0Nhưng hãy lưu ý rằng không có gì thay đổi khi chúng tôi cố gắng thêm lại "cello" vào bộ
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
1Điều này là do các bộ trong Python không thể chứa các bản sao. Vì vậy, khi chúng tôi cố gắng thêm lại
>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
2 vào tập hợp, Python nhận ra rằng chúng tôi đang cố gắng thêm một phần tử trùng lặp và không cập nhật tập hợp. Đây là một cảnh báo giúp phân biệt tập hợp với danh sáchĐây là cách bạn sẽ xóa các phần tử khỏi một tập hợp
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
3Hàm
>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
3 loại bỏ phần tử >>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
4 khỏi một tập hợp. Nó trả về một >>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
5 nếu >>> incorrect_set = {"Apples", ["Bananas", "Oranges"]}
Traceback [most recent call last]:
File "", line 1, in
TypeError: unhashable type: 'list'
4 không phải là một phần của tập hợp>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
8Có một số cách khác để xóa [các] phần tử khỏi tập hợp
- phương pháp
7 loại bỏ>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]} Traceback [most recent call last]: File "", line 1, in TypeError: unhashable type: 'list'
4 khỏi tập hợp, nhưng không gây ra bất kỳ lỗi nào nếu không có>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]} Traceback [most recent call last]: File "", line 1, in TypeError: unhashable type: 'list'
4 trong tập hợp>>> incorrect_set = {"Apples", ["Bananas", "Oranges"]} Traceback [most recent call last]: File "", line 1, in TypeError: unhashable type: 'list'
- phương thức
00 loại bỏ và trả về một phần tử ngẫu nhiên từ tập hợp>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
- phương pháp
01 xóa tất cả các phần tử khỏi một tập hợp>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
Dưới đây là một số ví dụ để minh họa
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
4Các hoạt động của bộ Python[]Nếu bạn còn nhớ môn toán cơ bản ở trường trung học, có lẽ bạn sẽ nhớ lại các phép toán tập hợp toán học như hợp, giao, hiệu và hiệu đối xứng. Chà, bạn có thể đạt được điều tương tự với các bộ Python
1. Đặt liên minh
Hợp của hai tập hợp là tập hợp có tất cả các phần tử của cả hai tập hợp mà không trùng nhau. Bạn có thể sử dụng phương thức
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
02 hoặc cú pháp >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
03 để tìm hợp của một tập hợp Python>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
72. Đặt giao lộ
Giao của hai tập hợp là tập hợp có tất cả các phần tử chung của cả hai tập hợp. Bạn có thể sử dụng phương thức
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
04 của toán tử >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
05 để tìm giao điểm của một tập hợp Python>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
03. Đặt sự khác biệt
Hiệu của hai tập hợp là tập hợp gồm tất cả các phần tử của tập hợp thứ nhất mà tập hợp thứ hai không có. Bạn sẽ sử dụng phương thức
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
06 hoặc toán tử >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
07 để đạt được điều này trong Python>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
04. Đặt chênh lệch đối xứng
Hiệu đối xứng giữa hai tập hợp là tập hợp gồm tất cả các phần tử thuộc tập hợp thứ nhất hoặc tập hợp thứ hai nhưng không thuộc cả hai
Bạn có thể lựa chọn sử dụng phương thức
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
08 hoặc toán tử >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
09 để thực hiện việc này trong Python>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
1Cách sửa đổi một tập hợp bằng các thao tácMỗi hoạt động
>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
5 mà chúng tôi đã thảo luận ở trên có thể được sử dụng để sửa đổi một bộ Python hiện có. Tương tự như cách bạn sẽ sử dụng cú pháp gán tăng cường chẳng hạn như >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
11 hoặc >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
12 để cập nhật một biến, bạn có thể thực hiện tương tự cho các tập hợp>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
2Các thao tác thiết lập khác trong PythonĐây không phải là quá phổ biến, nhưng chúng rất hữu ích trong việc xem cách các tập hợp liên quan đến những người khác
- phương thức
13 hoặc toán tử>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
14 trả về true nếu>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
15 là tập con của>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
16>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
- phương thức
17 hoặc toán tử>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
18 trả về true nếu>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
15 là siêu bộ của>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
16>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
- phương thức
31 trả về true nếu không có phần tử chung nào giữa các bộ>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
15 và>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
16>>> first_set = set[["Connor", 32, [1, 2, 3]]] >>> first_set {32, 'Connor', [1, 2, 3]} >>> >>> second_set = set["Connor"] >>> second_set {'n', 'C', 'r', 'o'}
Vì các bộ có thể thay đổi nên chúng không thể băm được – nghĩa là bạn không thể sử dụng chúng làm khóa từ điển
Python cho phép bạn giải quyết vấn đề này bằng cách sử dụng
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
34 thay thế. Điều này có tất cả các thuộc tính của một tập hợp, ngoại trừ việc nó không thay đổi [điều này có nghĩa là bạn không thể thêm/xóa các phần tử khỏi tập hợp cố định]. Nó cũng có thể băm được, vì vậy nó có thể được sử dụng làm khóa cho từ điểnKiểu dữ liệu
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
34 có tất cả các phương thức của một tập hợp [chẳng hạn như >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
06, >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
37 và >>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
38] nhưng vì nó là bất biến nên nó không có các phương thức để thêm/bớt phần tử>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
3Và sử dụng
>>> first_set = set[["Connor", 32, [1, 2, 3]]]
>>> first_set
{32, 'Connor', [1, 2, 3]}
>>>
>>> second_set = set["Connor"]
>>> second_set
{'n', 'C', 'r', 'o'}
34 làm khóa từ điển cũng đơn giản như 1, 2, 3>>> third_set = {"Apples", ["Bananas", "Oranges"]}
>>> type[third_set]
4Kết thúcĐó là nó. Bạn đã tìm hiểu về tập hợp là gì, cách tạo và làm việc với chúng cũng như các thao tác khác nhau mà bạn có thể sử dụng trên chúng
Với các bộ đã hoàn thành, giờ đây bạn sẽ cảm thấy thoải mái với hầu hết các hàm tích hợp sẵn của Python. Tất cả những gì bạn cần làm bây giờ là luyện tập. Chúc may mắn
Hãy nhớ theo dõi tôi trên Twitter để biết thêm thông tin cập nhật. chúc bạn vui vẻ
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà nghiên cứu AI @Harvard, Giáo viên @freeCodeCamp. Trình biên dịch bán thời gian Warlock
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu