Những thao tác nào có thể được thực hiện trên một tập hợp trong Python?

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ộ

  1. Đặt tất cả các phần tử bên trong dấu ngoặc nhọn “{“ và “}”
  2. 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

  1. add[] cho phép thêm một phần tử
  2. 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

  1. 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
  2. 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
  3. 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

  1. Sử dụng toán tử
  2. 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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
0

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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
1

đầ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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
2

đầu ra

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
3

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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
4

đầ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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
5

đầu ra

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
6

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

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
7

đầu ra

setWithMethod = set[[1, 2, 'three']]
print[setWithMethod]
8

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

Thao tác nào Không thể áp dụng trên tập hợp trong Python?

Một tập hợp trong python là một đối tượng có thể lặp lại không có thứ tự, không chứa các giá trị trùng lặp. Không thể thực hiện thao tác cắt trên tập hợp trong python vì tập hợp không có chỉ mục.

Các hoạt động thiết lập khác nhau là gì?

Trong lý thuyết tập hợp, có ba loại phép toán chính được thực hiện trên tập hợp, chẳng hạn như. Hợp của các tập hợp [∪] Giao điểm của các tập hợp [∩] Hiệu của các tập hợp [ – ]

Chúng ta có thể sử dụng toán tử in trong bộ Python không?

Có, nhưng nó cũng có nghĩa là hash[b] == hash[x] , vì vậy sự bằng nhau của các mục không đủ để khiến chúng giống nhau.

Chủ Đề