Trong toán học, một tập hợp là một tập hợp các đối tượng riêng biệt tạo thành một nhóm. Các đối tượng có thể thuộc bất kỳ loại nào như số, tên phim, tên công ty, v.v. Có thể có bất kỳ số lượng đối tượng nào trong một tập hợp và các đối tượng có thể thuộc các kiểu dữ liệu khác nhau. Tập hợp là một khái niệm của Lý thuyết tập hợp, một chủ đề phổ biến và hữu ích của toán học. Có một số phép toán có thể được thực hiện trên một tập hợp, các phép toán này bao gồm hợp, giao, hiệu
Các bộ trong python cũng tương tự nhưng với một vài điều kiện
- Đầu tiên, một tập hợp không thể chứa các phần tử trùng lặp
- Thứ hai, các phần tử của một tập hợp là bất biến [một khi đã nhập thì không thể thay đổi] nhưng toàn bộ tập hợp là có thể thay đổi
Trong python, các phép toán như hợp, giao có thể được thực hiện trên một tập hợp, nhưng nó cũng được sử dụng cho các mục đích khác mà chúng ta sẽ thảo luận trong bài viết này
Định nghĩa chính thức của một tập hợp trong Python sẽ là. Tập hợp là một tập hợp các mục không có thứ tự, trong đó mọi phần tử là duy nhất và không thay đổi. Tuy nhiên, bản thân tập hợp có thể thay đổi
Tạo tập hợp trong Python
Cũng giống như hầu hết những thứ khác, việc tạo một bộ trong Python thực sự đơn giản. Có hai cách để tạo một bộ
- Đặt tất cả các phần tử bên trong dấu ngoặc nhọn “{“ và “}”
- Sử dụng phương thức set[]
Nếu các dấu ngoặc nhọn trông quen thuộc với bạn, thì đó là vì chúng được sử dụng trong Từ điển Python
Sử dụng dấu ngoặc nhọn
Hãy xem một ví dụ
evenNumber = {2, 4, 6} print[evenNumber] stringAndNum = {"one", 2, 3} print[stringAndNum]
đầu ra
Ở đây bạn có thể thấy chúng tôi đã tạo một tập hợp chỉ chứa các số và một tập hợp khác chứa các số và chuỗi
Ngoài ra, bấm vào đây để tìm hiểu thêm về Số trong Python
Sử dụng hàm set[]
cú pháp. đặt [[có thể lặp lại]]
loại trả lại. Rỗng không có đối số nào được đưa ra nếu không thì một đối tượng được đặt hoặc đóng băng
set[] lấy một iterable làm đối số. Trong python, chuỗi, danh sách và từ điển có thể lặp lại để bạn có thể chuyển chúng vào bên trong set[]. set[] trả về một đối tượng set hoặc freezeset [sẽ giải thích sau trong bài viết]. Nếu không có đầu vào [i. e. không có lần lặp nào được truyền dưới dạng đối số] thì một tập hợp trống được trả về
Đây là một ví dụ sử dụng hàm set[]
setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
Dưới đây là một ví dụ mã cho biết cách bạn có thể tạo một tập hợp từ các lần lặp [danh sách, từ điển, chuỗi, v.v. ]
a = {"one": 1, "two": 2} b = [100, 200, 300] c = 'python' print[set[a], end='\n'] print[set[b], end='\n'] print[set[c]]
đầu ra
{'one' , 'two'} {200, 100, 300} {'h', 'n', 'o', 'p', 'y', 't'}
Một thuộc tính quan trọng của set[] là các phần tử là bất biến. Vì vậy, bạn không thể nhập bất kỳ đối tượng có thể thay đổi nào trong một tập hợp [như từ điển, danh sách, tập hợp]
# This wont work mySetOne = {1, 2, [3, 4]} print[mySetOne] # This will work mySetTwo = {1, 2, [3, 4]} print[mySetTwo]
Ở đây, khi mySetOne được thực thi, nó báo TypeError. loại không thể xóa. 'danh sách'
mySetOne = {1, 2, [3,4]} TypeError: unhashable type: 'list'
Khi mySetTwo được thực thi, chúng tôi nhận được
Thêm các mục trong một bộ Python
Thêm phần tử vào tập hợp không giống như thêm phần tử vào danh sách. Đặt không sử dụng lập chỉ mục. Có hai phương pháp để thêm các phần tử trong một tập hợp
- add[] cho phép thêm một phần tử
- update[] cho phép thêm nhiều phần tử
Hãy xem mã -
initialSet = {1, 2} initialSet.add[3] print[initialSet] toAdd = [4, 5] initialSet.update[toAdd] print[initialSet]
đầu ra
update[] lấy một đối số có thể lặp lại như chuỗi, danh sách, từ điển làm đối số
Xóa các mục khỏi Tập hợp trong Python
Để xóa các phần tử, chúng tôi có các phương thức này
- remove[element] - Phương thức này xóa phần tử khỏi tập hợp. Nếu phần tử không có mặt thì nó sẽ báo lỗi
- discard[element] - Phương thức này loại bỏ phần tử khỏi tập hợp. Nếu phần tử không có mặt thì tập hợp sẽ không thay đổi
- clear[] - Phương thức này được sử dụng để xóa tất cả các phần tử đã thiết lập
Hãy cùng xem mã để hiểu rõ hơn về phương pháp này
mySet = {1, 2, 3, 5} print["Before: ", mySet] mySet.remove[3] print["After: ", mySet] mySet.discard[4] print["Using discard: ", mySet] mySet.clear[] print[mySet]
đầu ra
________số 8Ở đây bạn có thể thấy rằng phần tử được chuyển đến discard[] không tồn tại trong tập hợp và discard[] không đưa ra bất kỳ lỗi nào. Ngoài ra, mã này cho thấy việc sử dụng rõ ràng[]
Hầu hết các hoạt động trên trường quay có thể được thực hiện theo hai cách
- Sử dụng toán tử
- Sử dụng phương pháp
Chúng ta sẽ xem xét cả hai cách để hoàn thành nhiệm vụ
liên hiệp
Hoạt động liên minh kết hợp tất cả các yếu tố từ cả hai tập hợp. “. ” [ống] biểu tượng được sử dụng để thực hiện thao tác này. Chúng ta cũng có thể sử dụng phương thức union[]
Hãy xem ví dụ mã
budgetCars = {'Maruti', 'Hyundai', 'Ford'} highEndCard = {'Audi', 'BMW', 'Ford'} print[budgetCars | highEndCard] print[budgetCars.union[highEndCard]]
đầu ra
0setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
Trong ví dụ này, bạn có thể thấy rằng liên kết kết hợp tất cả các phần tử từ cả hai bộ và nó không bao gồm bất kỳ phần tử trùng lặp nào
Ngã tư
Phép toán giao nhau chọn các phần tử chung trong cả hai tập hợp. Toán tử “&” hoặc phương thức giao nhau [] được sử dụng để thực hiện thao tác này
Trong ví dụ này, bạn có thể thấy rằng kết quả giao nhau chọn hai nguyên tố phổ biến trong cả hai hóa chất
1setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
Sự khác biệt
Sự khác biệt trong các tập hợp tương tự như phép trừ. Khi tập hợp B bị trừ khỏi tập hợp A i. e, Tập hợp A - Tập hợp B thì ta nói rằng trong tập hợp kết quả sẽ loại bỏ tất cả các phần tử của tập hợp B khỏi tập hợp A. Phương thức “-” [dấu trừ] hoặc hiệu [] được sử dụng để thực hiện thao tác này
2setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
3setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
Giả sử rằng bạn đã vượt qua ba bộ A, B và C để tìm sự khác biệt. Trong trường hợp này, đầu tiên, hiệu của A và B sẽ được tính, sau đó kết quả của nó [giả sử R] sẽ được sử dụng để tính hiệu của C
Chênh lệch đối xứng
Hiệu đối xứng của hai tập hợp A và B là tập hợp chứa các phần tử thuộc A hoặc B nhưng không thuộc cả hai. Toán tử “^” hoặc phương thức symmetric_difference[] được sử dụng để thực hiện thao tác này
4setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
Bộ đông lạnh
Frozen set là một kiểu dữ liệu có sẵn trong Python. Nó là một tập hợp bất biến [một khi đã xác định thì không thể thay đổi]. Nó hỗ trợ tất cả các hoạt động không sửa đổi của tập hợp. Các thao tác như add[] sẽ không hoạt động trong trường hợp set cố định
Đây là một ví dụ đơn giản
5setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
6setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
Một trường hợp sử dụng phổ biến của Frozenset có thể là lưu trữ các khóa từ điển. Đây là một ví dụ cho thấy rằng
7setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
đầu ra
8setWithMethod = set[[1, 2, 'three']] print[setWithMethod]
Giả sử rằng chúng tôi muốn hiển thị dữ liệu này cho một số người dùng thì việc sử dụng bộ đóng băng sẽ hợp lý vì không ai có thể thay đổi chúng
Phần kết luận
Trong bài viết này, bạn đã có kiến thức về cách tạo tập hợp trong Python và thực hiện các thao tác khác nhau trên đó
Đặt giống như danh sách, từ điển là loại dữ liệu do Python cung cấp có trường hợp sử dụng riêng. Nó có thể hữu ích ở một số nơi trong khi không nhiều ở những nơi khác. Biết những gì bạn có thể làm với một bộ sẽ giúp đánh giá xem nó có phù hợp với yêu cầu của bạn không