Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

100

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Điều gì phân biệt

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
2 và
Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
3 trên các bộ? Rõ ràng cú pháp không giống nhau. Một là toán tử nhị phân và cái còn lại là một phương thức thể hiện. Cái gì khác?

s1 = set([1,2,3])
s2 = set([3,4,5])

>>> s1 - s2
set([1, 2])
>>> s1.difference(s2)
set([1, 2])

Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

Đã hỏi ngày 22 tháng 6 năm 2015 lúc 18:00Jun 22, 2015 at 18:00

David542David542David542

104K159 Huy hiệu vàng443 Huy hiệu bạc755 Huy hiệu Đồng159 gold badges443 silver badges755 bronze badges

3

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
4 có thể lấy bất kỳ điều gì có thể sử dụng được là ARG thứ hai trong khi cả hai cần được đặt để sử dụng
Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
2, không có sự khác biệt trong đầu ra.

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t

Với .diferference bạn có thể làm những việc như:

s1 = set([1,2,3])

print(s1.difference(*[[3],[4],[5]]))

{1, 2}

Nó cũng hiệu quả hơn khi tạo các bộ sử dụng cú pháp

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
6 vì bạn không tạo bộ trung gian, bạn có thể thấy một số so sánh ở đây

Nam G Vu

31.6K67 Huy hiệu vàng222 Huy hiệu bạc357 Huy hiệu Đồng67 gold badges222 silver badges357 bronze badges

Đã trả lời ngày 22 tháng 6 năm 2015 lúc 18:02Jun 22, 2015 at 18:02

Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

1

Trong nháy mắt, nó có thể không hoàn toàn rõ ràng từ tài liệu, nhưng được chôn sâu bên trong một đoạn văn, nó được dành riêng để phân biệt cuộc gọi phương thức với phiên bản toán tử:

Lưu ý, các phiên bản không vận hành của Union (), giao lộ (), chênh lệch () và symmetric_difference (), phát hành () và các phương thức phát hành () sẽ chấp nhận bất kỳ đối số nào. Ngược lại, các đối tác dựa trên toán tử của họ yêu cầu các đối số của họ phải được đặt. Điều này ngăn cản các công trình dễ bị lỗi như

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
7 có lợi cho
Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
8 dễ đọc hơn.

Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

Đã trả lời ngày 22 tháng 6 năm 2015 lúc 18:10Jun 22, 2015 at 18:10

Tài liệu dường như cho thấy rằng sự khác biệt có thể mất nhiều bộ, do đó, có thể nó có thể hiệu quả và rõ ràng hơn cho những thứ như:

s1 = set([1, 2, 3, 4])
s2 = set([2, 5])
s3 = set([3, 6])
s1.difference(s2, s3) # instead of s1 - s2 - s3

Nhưng tôi sẽ đề xuất một số thử nghiệm để xác minh.

Đã trả lời ngày 22 tháng 6 năm 2015 lúc 18:08Jun 22, 2015 at 18:08

Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

Đặt lý thuyết, một lĩnh vực chính trong toán học, liên quan đến việc nhà ở hoặc tập hợp các yếu tố liên quan. Nhìn thấy tầm quan trọng của các bộ toán học, Python đã quyết định thực hiện các bộ toán học một cấu trúc dữ liệu sẵn có. Trong bài viết này, chúng tôi sẽ học cách tìm sự khác biệt giữa hai đối tượng đã đặt. Nhưng trước đó, chúng ta hãy có một bản tóm tắt nhanh chóng về các bộ là gì và chúng ta muốn nói gì khi chúng ta nói tìm sự khác biệt của các bộ.

Một bộ trong Python là gì?

Các bộ là một trong bốn cấu trúc dữ liệu chính trong Python và được biểu diễn bằng cách sử dụng niềng răng xoăn. Đặt, giống như một danh sách, có thể lưu trữ tất cả các dạng dữ liệu (chuỗi, số nguyên, float) và thậm chí là sự kết hợp của các loại dữ liệu khác nhau. Nhưng về mặt logic, nó có ý nghĩa chỉ lưu trữ các đối tượng liên quan với nhau trong một bộ. Bây giờ bạn có thể tự hỏi nếu cả từ điển và đặt cấu trúc dữ liệu sử dụng niềng răng xoăn để thể hiện bản thân, thì sự khác biệt giữa chúng là gì? Chà, câu trả lời khá đơn giản, từ điển lưu trữ dữ liệu dưới dạng cặp giá trị khóa, trong khi đây không phải là trường hợp trong các bộ.using curly braces. Set, like a list, can store all forms of data (Strings, integer, float) and even a combination of different data types. But logically it makes sense to store only related objects together in a set. Now you may be wondering if both dictionary and set data structures use curly braces to represent themselves, then what is the difference between them? Well, the answer is pretty simple, Dictionary stores data in the form of key-value pair, whereas this is not the case in sets.

Bây giờ chúng tôi hiểu các bộ từ quan điểm kỹ thuật hơn. Nói chính xác, các bộ có thể thay đổi, có thể thay đổi và không cho phép các yếu tố trùng lặp bên trong chúng. Một điểm quan trọng cần nhớ là vì các bộ không được đặt hàng, do đó chúng tôi không thể truy cập các yếu tố của nó bằng cách sử dụng các chỉ mục như chúng tôi có thể trong danh sách. Trên thực tế, các bộ có một lợi thế lớn so với các cấu trúc dữ liệu khác. Đặt bên trong việc sử dụng cấu trúc dữ liệu được gọi là bảng băm, do đó chúng chứa một phương pháp được tối ưu hóa cao để kiểm tra xem một phần tử cụ thể có chứa trong tập hợp hay không. Phương pháp này thậm chí còn nhanh hơn thuật toán tìm kiếm nhanh nhất. Bây giờ chúng ta hãy xem một vài ví dụ về các bộ trong Pythonmutable, iterable and do not allow duplicate elements inside them. An important point to remember is that since sets are unordered, therefore we cannot access its elements using indexes as we can in lists. Actually, Sets have a major advantage in comparison to other data structures. Sets internally make use of a data structure called the hash table, due to which they contain a highly optimized method for checking whether a specific element is contained in the set or not. This method is even faster than the fastest searching algorithm. Let us now look at a few examples of sets in python

Ví dụ:

setA = { "a", "b", "c"}
print(setA)
# Adding element to the set
setA.add("d")
print(setA)

Output:

{'c', 'b', 'a'}
{'c', 'd', 'b', 'a'}

Sự khác biệt giữa hai bộ là gì?

Khi chúng ta nói tìm sự khác biệt giữa SET A và SET B, điều chúng ta cần là tìm các yếu tố có mặt trong tập A nhưng không có trong tập B. Về mặt toán học, điều này được biểu diễn bằng toán tử -. Có một cái nhìn dưới đây để hiểu khái niệm này tốt hơn. Phía bên trái là ký hiệu toán học và phía bên phải là ý nghĩa của ký hiệu.elements that are present in set A but not in Set B. Mathematically this is represented using the – operator. Have a look below to understand this concept better. The left-hand side is the mathematical notation and the right-hand side is the meaning of the notation.

A – B: elements present in A, but not in B
B – A: elements present in B, but not in A

& nbsp; Bây giờ chúng ta hãy lấy một ví dụ để củng cố kiến ​​thức này
Let us now take an example to solidify this knowledge

If A = { 23, 453, 43, 66, 21} and B = { 43, 785, 12, 35, 23, 545}
Then A – B = { 453, 66, 21 }
And B – A = { 785, 12, 35, 545}

Chúng ta cũng có thể hình dung khái niệm này bằng sơ đồ Venn. Nhìn vào hình ảnh dưới đây.

Hướng dẫn how do you subtract a set from another in python? - làm thế nào để bạn trừ một tập hợp từ một tập hợp khác trong python?

Làm thế nào để tìm sự khác biệt giữa hai bộ trong Python?

Chúng ta có thể tìm thấy sự khác biệt về bộ Python bằng 2 phương thức. Chúng ta hãy xem xét chi tiết cả hai phương pháp cùng với một số ví dụ.

1) Sử dụng phương thức set.difference ()

Đây là một chức năng sẵn có phù hợp để tìm sự khác biệt giữa bất kỳ hai bộ đã cho. Nó thực hiện toán tử khác biệt (-) cho các bộ. Phương pháp này được gọi là đối tượng đã đặt mà từ đó các phần tử sẽ bị trừ. Phải mất một đối số, đó là tập hợp các yếu tố sẽ bị trừ khỏi tập hợp mà hàm được gọi.

Vì vậy, để tính toán A-B, cuộc gọi chức năng sẽ trông giống như a.diferference (b) này. Tương tự, để tính toán b- a, lệnh gọi hàm sẽ là B.Diferference (a). Chúng tôi hy vọng rằng cho đến bây giờ mọi thứ đều rõ ràng. Bây giờ, đến với giá trị được trả về bởi hàm này. Phương pháp này trả về một bộ mới chứa các phần tử kết quả từ sự khác biệt giữa hai bộ. Lưu ý rằng, phương pháp này không sửa đổi các bộ gốc. Bây giờ chúng ta hãy xem một ví dụ để thấy chức năng này trong hành động.A.difference(B). Similarly, to calculate B- A, the function call will be B.difference(A). We hope that till now everything is clear.
Now, coming to the value returned by this function. This method returns a new set that contains the resulting elements from the difference between two sets. Note that, this method does not modify the original sets. Let us now look at an example to see this function in action.

Ví dụ:

# Set A
A = { 23, 453, 43, 66, 21} 
# Set B
B =  { 43, 785, 12, 35, 23, 545}

C = A.difference(B) # A - B
D = B.difference(A) # B - A

# Display statements
print("A - B : " +str(C))
print("B - A : " +str(D))

Output:

A - B : {66, 21, 453}
B - A : {545, 35, 12, 785}

2) Sử dụng - toán tử

Phương pháp này đơn giản hơn nhiều so với phương pháp trước đó và sử dụng toán tử trừ.

Ví dụ:or example:

Operation         Equivalent   Result
s.difference(t)   s - t        new set with elements in s but not in t
0


Output:

A - B : {66, 21, 453}
B - A : {545, 35, 12, 785}

Sự kết luận

Python được biết đến với cú pháp dễ dàng, giống như tiếng Anh. Python cung cấp cho chúng tôi một túi lớn các chức năng được xây dựng bằng cách sử dụng mà chúng tôi có thể thực hiện nhiều hoạt động chính của các bộ. Trong bài viết này, chúng tôi đã thảo luận về toán tử khác biệt của các bộ và việc triển khai của nó trong Python. Bạn cũng có thể tìm hiểu về toán tử giao nhau của các bộ. & NBSP;intersection operator of sets

Bạn có thể trừ hai bộ Python không?

Phương thức chênh lệch () trả về một tập hợp chứa sự khác biệt giữa hai bộ. Ý nghĩa: Bộ được trả về chứa các mục chỉ tồn tại trong tập đầu tiên và không phải trong cả hai bộ.. Meaning: The returned set contains items that exist only in the first set, and not in both sets.

Bạn có thể trừ các bộ?

Mathwords: Đặt phép trừ.Một cách sửa đổi một tập hợp bằng cách loại bỏ các phần tử thuộc về một bộ khác.Phép trừ các tập hợp được biểu thị bằng một trong các ký hiệu - hoặc \.Ví dụ, một trừ B có thể được viết hoặc A - B hoặc A \ B.Subtraction of sets is indicated by either of the symbols – or \. For example, A minus B can be written either A – B or A \ B.

Làm thế nào để bạn tìm thấy sự khác biệt giữa hai bộ?

Sự khác biệt của hai bộ, được viết A - B là tập hợp tất cả các yếu tố của A không phải là phần tử của B ...
A - A =.
A - ∅ = a ..
∅ - a =.
A - u =.
(AC) C = A ..
Luật của Demorgan I: (A ∩ B) C = AC ∪ B. C.
Luật của Demorgan II: (A ∪ B) C = AC ∩ B. C.

Làm thế nào để bạn trừ hai yếu tố từ một danh sách trong Python?

Sử dụng zip để trừ hai danh sách python..
Chúng tôi đã khởi tạo một danh sách mới, trống được gọi là trừ mà chúng tôi sẽ sử dụng để giữ các giá trị bị trừ của chúng tôi ..
Sau đó chúng tôi lặp lại qua hai mục được trả về trong mỗi lần lặp của đầu ra zip () ..
Chúng tôi gán sự khác biệt giữa hai mục này cho mục và nối nó vào danh sách bị trừ của chúng tôi ..