Thêm 2 bộ Python

Phương thức add() thêm một phần tử đã cho vào một tập hợp. Nếu phần tử đã có sẵn, nó không thêm bất kỳ phần tử nào

Ví dụ

prime_numbers = {2, 3, 5, 7}

# add 11 to prime_numbers prime_numbers.add(11)

print(prime_numbers) # Output: {2, 3, 5, 7, 11}

Cú pháp của Set add()

Cú pháp của phương thức add()

set.add(elem)

Phương pháp add() không thêm một phần tử vào tập hợp nếu nó đã có sẵn trong đó

Ngoài ra, bạn sẽ không lấy lại một tập hợp nếu bạn sử dụng phương pháp add() khi tạo một đối tượng tập hợp

noneValue = set().add(elem)

Câu lệnh trên không trả về tham chiếu đến tập hợp mà là 'Không', bởi vì câu lệnh trả về kiểu trả về của add là Không có

A.union(B) trả về hợp của các bộ

>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 và
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
0. Nó không sửa đổi set
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 tại chỗ mà trả về một set mới

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}

Nó giống hệt với

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
0

reduce(operator.or_, [A, B]) để tham gia hai bộ bằng Python

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
2 trả về bitwiser
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
3 của
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 và
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
0, hoặc hợp của các bộ
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 và
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
0 nếu
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 và
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
0 là các bộ

>>> import operator
>>> from functools import reduce
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> reduce(operator.or_, [A, B])
{4, 5, 6, 7, 8, 9}
0 bằng Python 2. x hoặc
>>> import operator
>>> from functools import reduce
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> reduce(operator.or_, [A, B])
{4, 5, 6, 7, 8, 9}
1 trong cả Python 2. x và 3. x áp dụng chức năng cho các mục của iterable

Do đó, reduce(operator.or_, [A, B]) áp dụng hàm

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
3 cho
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
1 và
>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]
0. Nó giống với biểu thức Python
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
0

Trong python, một bộ là một tập hợp các mục không có thứ tự. Các mục trong một tập hợp không có thứ tự và do đó không thể truy cập bằng chỉ mục. Các bộ có ích khi thực hiện các phép toán trong python. Các phép toán là hợp, giao, chênh lệch phần bù, v.v. Trong bài viết này, chúng ta sẽ tìm hiểu về set và cách kết hợp 2 set trong python

nội dung

Đặc điểm của một tập hợp

  • Tất cả các mục trong một bộ là duy nhất. Bộ không lưu trữ các phần tử trùng lặp
  • Các phần tử trong một tập hợp không có thứ tự. Do đó, không thể truy cập các mục bằng chỉ mục, không giống như bộ và danh sách—mỗi khi các phần tử được hiển thị theo thứ tự ngẫu nhiên
  • Bản thân tập hợp có thể thay đổi, nhưng các phần tử được lưu trữ trong tập hợp là bất biến

Làm thế nào để tạo một bộ?

Một bộ trong python được khởi tạo bằng cách sử dụng dấu ngoặc nhọn ({ }). Do đó, chúng ta có thể lưu trữ các phần tử khác nhau trong một bộ python ngoại trừ các loại dữ liệu có thể thay đổi như danh sách và từ điển

my_set = { 1, 'ab', 100}

Để tạo một tập hợp rỗng, chúng ta sử dụng hàm set() mà không đưa ra bất kỳ đối số nào. Theo mặc định, nếu bạn sử dụng dấu ngoặc nhọn để tạo tập rỗng, python sẽ coi đó là từ điển

my_set = set()

Làm cách nào để kết hợp các bộ trong Python?

Các bộ có thể được kết hợp trong python bằng các chức năng khác nhau. Có các hàm như union(), update() và reduce() để nối hai tập hợp. Chúng ta cũng có thể kết hợp hai tập hợp bằng cách sử dụng toán tử bitwise chẳng hạn như toán tử hợp (. ) và toán tử giải nén (*). Chúng ta hãy xem xét tất cả các phương pháp một cách riêng biệt

Sử dụng phương thức union() để kết hợp các bộ trong python

Phương thức Union() được sử dụng để kết hợp hai bộ trong python và trả về một bộ kết hợp. Chúng ta có thể thực hiện phép hợp bao nhiêu bộ tùy thích. Nếu hai tập hợp chứa các phần tử chung, thì tập hợp của chúng sẽ chỉ có một bản sao của phần tử đó vì tất cả các phần tử trong một tập hợp là duy nhất

Cú pháp của phương thức union() là

set1.union(set2, set3, set4......)

Hãy để chúng tôi xem xét một ví dụ. Ở đây, chúng tôi đã thực hiện ba bộ. tập1, tập2 và tập3. 'set1' có ba chuỗi – harry, hogwarts và hedwig. 'set2' có một giá trị float – 9. 75 và ba dây – cây đũa phép, hogwarts và london. 'set3' bao gồm một giá trị ký tự - h và một giá trị số nguyên - 100

Ở đây, chỉ set1 và set2 có item chung – ‘hogwarts’ còn lại các item khác là duy nhất

Để thực hiện kết hợp set1 và set2, chúng tôi chạy đoạn mã dưới đây

set1.union(set2)

Đầu ra của sự kết hợp giữa set1 và set2 là

{9.75, 'harry', 'hedwig', 'hogwarts', 'london', 'wand'}

Như bạn có thể thấy, ở đây, phần tử chung 'hogwarts' chỉ xuất hiện một lần trong tập hợp

Để thực hiện liên kết giữa set1, set2 và set3, chúng tôi sử dụng mã được cung cấp bên dưới

set1.union(set2,set3)

Hợp của ba tập hợp là

{100, 9.75, 'h', 'harry', 'hedwig', 'hogwarts', 'london', 'wand'}

Ở đây, việc thay đổi thứ tự của các tập hợp trong khi sử dụng phương thức union() không làm thay đổi đầu ra

set3.union(set2,set1)

Dòng mã trên cũng cho chúng ta kết quả tương tự

{100, 9.75, 'h', 'harry', 'hedwig', 'hogwarts', 'london', 'wand'}

Nếu chúng ta không chuyển bất kỳ đối số nào cho phương thức kết hợp, nó sẽ trả về một bản sao nông của tập hợp đã cho

Sử dụng phương thức update() để kết hợp các bộ trong Python

Một phương thức khác có thể được sử dụng để nối hai hoặc nhiều bộ trong python là phương thức update(). Cuối cùng, phương thức union() sẽ lưu trữ duy nhất tất cả các giá trị từ hai hoặc nhiều tập hợp đã cho

Cú pháp của phương thức update() là

set1.update(set2,set3,set4....) 

Sự khác biệt giữa phương thức union() và update() là union() trả về tập kết hợp nhưng update() sẽ không trả về bất kỳ giá trị nào. Thay vào đó, nó sẽ chỉ cập nhật giá trị của tập hợp gọi phương thức update() (i. e. , set1 từ cú pháp trên) với giá trị của tập hợp hoặc các tập hợp đã cho trong đối số (i. e. , set2, set3, set4…)

Chúng ta hãy lấy ví dụ tương tự về các bộ set1, set2 và set3 ở trên

my_set = set()
0

Đầu tiên chúng ta sẽ kết hợp hai bộ - set1 và set2

my_set = set()
1

Đoạn mã trên sẽ không trả về bất kỳ giá trị nào. Để xem cập nhật, chúng ta sẽ in set1

my_set = set()
2

đầu ra là

my_set = set()
3

set2 không thay đổi trong khi set1 được cập nhật với các giá trị kết hợp

Để kết hợp cả ba bộ, chúng tôi sẽ chạy đoạn mã dưới đây

my_set = set()
4

Bây giờ, chúng ta sẽ in set1 đã cập nhật

my_set = set()
2

đầu ra là

my_set = set()
6

Như chúng ta có thể thấy, tất cả các giá trị thiết lập đã được kết hợp. Do đó, chúng ta cũng có thể chuyển các iterables làm đối số cho hàm update()

Sử dụng phương thức reduce() để kết hợp các tập hợp trong Python

Giảm () được sử dụng để áp dụng một chức năng cho các lần lặp để giảm nó thành một giá trị duy nhất. Chúng ta cũng có thể sử dụng reduce() để kết hợp hai tập hợp đã cho

Để làm được điều đó, chúng ta cần nhập một toán tử. Toán tử là một thư viện trong python dùng để nhập các hàm cho các phép toán, logic và bitwise. Để kết hợp các tập hợp, chúng tôi nhập các toán tử để thực hiện thao tác theo bit hoặc thao tác

Cú pháp của hàm reduce() là

my_set = set()
7

Đầu tiên, chúng ta sẽ nhập funcools và toán tử

my_set = set()
8

my_set = set()
0

Chúng ta sẽ sử dụng toán tử. or_ làm hàm và chúng ta sẽ chuyển một danh sách set1 và set2 làm chuỗi có thể lặp lại.

set1.union(set2, set3, set4......)
0

Hàm reduce() sẽ trả về bitwise hoặc hoạt động của set1 và set2. Nhà điều hành. or_ sẽ hoạt động tương tự như hoạt động của hiệp hội. đầu ra sẽ là

{9.75, 'harry', 'hedwig', 'hogwarts', 'london', 'wand'}

Chúng ta cũng có thể sử dụng reduce() để kết hợp nhiều hơn hai bộ. Chúng ta có thể chuyển nhiều hơn hai bộ bằng cách đưa chúng vào danh sách có thể lặp lại

set1.union(set2, set3, set4......)
2

Đầu ra sẽ là một tập hợp kết hợp

{100, 9.75, 'h', 'harry', 'hedwig', 'hogwarts', 'london', 'wand'}

Sử dụng itertools. chain() Phương pháp kết hợp các tập hợp trong Python

Itertools trong python là module có nhiều hàm dùng để làm việc với iterator. chain() là một chức năng như vậy có sẵn trong mô-đun itertools. itertools. chain() được sử dụng để xâu chuỗi nhiều lần lặp lại và trả về một chuỗi duy nhất

Cú pháp cho itertools. chuỗi() là

set1.union(set2, set3, set4......)
4

Ở đây, chúng tôi sử dụng itertools. chain() để kết hợp hai hoặc nhiều bộ lại với nhau

Lấy set1, set2 và set3 như trên

my_set = set()
0

Đầu tiên, chúng ta sẽ nhập itertools

set1.union(set2, set3, set4......)
6

Bây giờ, chúng ta sẽ chuyển set1, set2 và set3 làm đối số cho itertools. xích(). Hàm trả về một đối tượng mà chúng ta chuyển đổi rõ ràng thành một tập hợp kiểu. Sau đó, chúng tôi sẽ in bộ đó

set1.union(set2, set3, set4......)
7

Tập hợp kết hợp là

set1.union(set2, set3, set4......)
8

Sử dụng ‘. ' nhà điều hành

Chúng tôi cũng có thể kết hợp hai hoặc nhiều bộ trong python bằng bitwise hoặc toán tử (. ). Tương tự như tìm hợp của các tập hợp

Lấy ba set set1, set2 và set3

my_set = set()
0

Thực hiện bitwise hoặc hoạt động

set1.union(set2)
0

đầu ra là

set1.union(set2)
1

Phép toán trên tương tự như phép toán hợp

set1.union(set2)
2

Sử dụng toán tử giải nén (*)

Trong python, dấu hoa thị (*) là toán tử giải nén. Nó giải nén các giá trị từ các đối tượng có thể lặp lại. Chúng ta có thể sử dụng toán tử giải nén để nối nhiều bộ

Chúng ta có thể thêm 2 bộ trong Python không?

Các tập hợp có thể được nối trong Python theo một số cách khác nhau. Chẳng hạn, update() thêm tất cả các phần tử của tập hợp này vào tập hợp kia. Tương tự, union() kết hợp tất cả các phần tử của hai tập hợp và trả về chúng trong một tập hợp mới . Cả hai thao tác union() và update() đều loại trừ các phần tử trùng lặp.

Làm thế nào chúng ta có thể thêm hai bộ?

Thêm các phần tử của tập hợp này vào tập hợp khác, chỉ liên kết là phù hợp về mặt trực giác để được coi là phần bổ sung của tập hợp . Tập hợp rỗng Ø đóng vai trò là số không. Thật vậy, với mọi tập A thì A∪Ø = Ø∪A = A. Liên minh rõ ràng là liên kết.