Bổ sung bộ Python

Phương thức

set.add[element]
1 của Python thêm
set.add[element]
2 vào
set.add[element]
0 này. Nếu phần tử đã có trong tập hợp, phương thức sẽ trả về mà không có bất kỳ tác dụng phụ nào

Đặt Python thêm[]


Xem video này trên YouTube

Đây là một ví dụ tối thiểu nơi chúng tôi thêm phần tử 4 vào một tập hợp hiện có

>>> s = {1, 2, 3}
>>> s.add[4]
>>> s
{1, 2, 3, 4}

cú pháp

Hãy đi sâu vào cú pháp chính thức của phương thức

set.add[element]
1

set.add[element]
Đối sốKiểu dữ liệuGiải thích
set.add[element]
2đối tượng có thể bămMột đối tượng có thể băm được thêm vào tập hợp

Giá trị trả về của Set add[]

Giá trị trả về của

set.add[element]
1 là
set.add[element]
4

Đối tượng có thể băm là gì?

Bạn chỉ có thể thêm các đối tượng có thể băm vào một tập hợp. Nhưng điều đó có nghĩa là gì đối với một đối tượng có thể băm được?

Băm một đối tượng có nghĩa là bạn đặt nó thông qua một hàm băm gán một số nguyên cho đối tượng. Python thực hiện điều này bằng phương pháp

set.add[element]
5 “dunder” hoặc “double-underscore”. Phương thức này xác định hành vi cho một đối tượng nếu bạn chuyển nó vào hàm
set.add[element]
6 tích hợp sẵn của Python

? . Vì giá trị băm được tính toán dựa trên dữ liệu của đối tượng nên hai đối tượng khác nhau nhưng bằng nhau phải có cùng giá trị băm

Bạn có thể tìm hiểu mọi thứ về nó trong video này

Hàm hash[] trong Python – Hướng dẫn đơn giản với ví dụ


Xem video này trên YouTube

Tại sao điều quan trọng đối với một đối tượng là có thể băm được?

lý do rất đơn giản. cấu trúc dữ liệu tập hợp và từ điển dựa trên cái gọi là cấu trúc dữ liệu bảng băm. Cấu trúc dữ liệu này cho phép truy xuất nhanh bất kỳ đối tượng nào chỉ bằng cách gọi hàm băm của nó. Nghĩ theo cách này. giá trị trả về của hàm băm gợi ý về vị trí của phần tử trong cấu trúc dữ liệu vùng chứa

Đây là lý do chính khiến cấu trúc dữ liệu tập hợp và từ điển rất hiệu quả về mặt thành viên và hoạt động truy xuất

Nói cách khác, khả năng băm cho phép một đối tượng được sử dụng như một phần của tập hợp hoặc từ điển do việc triển khai đúng các hàm băm đã thảo luận

Tuy nhiên, không phải tất cả các đối tượng đều có thể được chuyển vào hàm

set.add[element]
8—chỉ các đối tượng có thể băm được. Điều kiện đối với các đối tượng có thể băm là chúng không bao giờ thay đổi, đã triển khai phương thức
set.add[element]
9 và chúng cũng có thể được so sánh với các đối tượng bằng cách triển khai phương thức dunder
>>> s = {1, 2, 3}
>>> s.add[4]
>>> s
{1, 2, 3, 4}
10

  • Một đối tượng có phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    11 đã triển khai nhưng phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    12 chưa được triển khai không thể băm được
  • Một đối tượng có phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    10 đã triển khai nhưng phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    11 chưa được triển khai không thể băm được
  • Một đối tượng với các phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    11 và
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    10 đã triển khai có thể băm được
  • Một đối tượng với các phương thức
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    11 và
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    10 đã triển khai nhưng có thể thay đổi thì không thể băm được. Lý do là khả năng thay đổi cho phép thay đổi giá trị dữ liệu của đối tượng, điều này có thể dẫn đến thay đổi giá trị trả về của
    >>> s = {1, 2, 3}
    >>> s.add[4]
    >>> s
    {1, 2, 3, 4}
    11, điều này có thể phá vỡ mã vì nó có thể dẫn đến hành vi trong đó một phần tử tại một thời điểm là một phần của cấu trúc dữ liệu

Hơn nữa, nếu hai đối tượng có thể băm có cùng giá trị băm như được trả về bởi phương thức

>>> s = {1, 2, 3}
>>> s.add[4]
>>> s
{1, 2, 3, 4}
11, thì chúng cũng phải so sánh bằng nhau đối với phương thức
>>> s = {1, 2, 3}
>>> s.add[4]
>>> s
{1, 2, 3, 4}
10

Làm cách nào để thêm một phần tử vào một tập hợp?

Để thêm một

set.add[element]
2 có thể băm vào một
set.add[element]
0, hãy gọi
set.add[element]
1. Nếu phần tử đã là thành viên của tập hợp thì tập hợp không thay đổi

>>> s = {1, 2, 3}
>>> s.add[4]
>>> s
{1, 2, 3, 4}
1

👉 Hướng dẫn đề xuất. Làm cách nào để thêm các phần tử vào bộ Python?

Làm cách nào để thêm vào tập hợp trống trong Python?

Để thêm một

set.add[element]
2 có thể băm vào một
set.add[element]
0 trống, hãy gọi
set.add[element]
1

set.add[element]
6

Làm cách nào để thêm nhiều phần tử vào một tập hợp?

Để thêm nhiều hoặc tất cả các phần tử vào một tập hợp được lưu trữ trong một lần lặp nhất định, hãy chuyển lần lặp đó vào hàm

set.add[element]
68

set.add[element]
8

Làm cách nào để thêm một danh sách vào một tập hợp?

Cho một tập hợp và một danh sách. Để thêm tất cả các phần tử danh sách vào một tập hợp, hãy chuyển iterable vào hàm

set.add[element]
68

set.add[element]
8

Đặt Python thêm [] so với cập nhật []

Sự khác biệt giữa

set.add[element]
1 và
set.add[element]
81 là cái trước thêm một phần tử vào một tập hợp và cái sau thêm nhiều phần tử vào một tập hợp

Nói cách khác

  • set.add[element]
    82 thêm một phần tử vào tập hợp này
  • set.add[element]
    83 thêm tất cả các phần tử nằm trong bất kỳ đối số tập hợp đã chỉ định nào

Ví dụ mã này cho thấy cả hai chức năng đang hoạt động

set.add[element]
4

Độ phức tạp về thời gian của Set add[] là gì?

Độ phức tạp thời gian chạy của hàm

set.add[element]
1 là O[1] vì cấu trúc dữ liệu đã đặt của Python được triển khai dưới dạng bảng băm và bạn có thể mong đợi các thao tác tra cứu, chèn và xóa có độ phức tạp thời gian chạy không đổi. Tuy nhiên, đây chỉ là mức trung bình—đôi khi bạn có thể gặp phải xung đột, điều này có thể khiến độ phức tạp thời gian chạy tăng lên O[n] do xử lý xung đột. Tuy nhiên, tính trung bình, độ phức tạp thời gian chạy của tập hợp. add[] vẫn là O[1]

Bạn có thể thấy điều này trong thử nghiệm đơn giản sau đây, nơi chúng tôi chạy phương thức tập hợp nhiều lần để tăng số lượng phần tử tập hợp

Nhân vật. Việc tăng kích thước đã đặt lên tối đa 10 triệu phần tử không ảnh hưởng đến độ phức tạp của thời gian chạy. Biểu đồ hiển thị một đường cong phức tạp thời gian chạy liên tục

Tôi đã chạy thử nghiệm này trên máy tính xách tay Acer Aspire 5 [tôi biết] với bộ xử lý Intel Core i7 [Thế hệ thứ 8] và bộ nhớ 16GB. Đây là mã của thử nghiệm

set.add[element]
6

Các phương thức đặt Python khác

Tất cả các phương thức tập hợp được gọi trên một tập hợp nhất định. Ví dụ: nếu bạn đã tạo một tập hợp

set.add[element]
85, bạn sẽ gọi
set.add[element]
86 để xóa tất cả các phần tử của tập hợp. Chúng tôi sử dụng thuật ngữ “tập hợp này” để chỉ tập hợp mà phương thức được thực thi

set.add[element]
87Thêm một phần tử vào tập hợp này
set.add[element]
88Xóa tất cả các phần tử khỏi tập hợp này
set.add[element]
89Tạo và trả lại một bản sao phẳng của tập hợp này
set.add[element]
80Tạo và trả lại một tập hợp mới chứa tất cả các phần tử của tập hợp này trừ những phần tử trong các đối số tập hợp đã cho. Tập hợp kết quả có nhiều nhất nhiều phần tử như bất kỳ tập hợp nào khác.
set.add[element]
81Xóa tất cả các phần tử khỏi tập hợp này là thành viên của bất kỳ đối số tập hợp đã cho nào.
set.add[element]
82Xóa một phần tử khỏi tập hợp này nếu nó là thành viên, nếu không thì không làm gì cả.
set.add[element]
83Tạo và trả về một tập hợp mới chứa tất cả các phần tử là thành viên của tất cả các tập hợp. cái này và cả cái được chỉ định. .
set.add[element]
84Xóa tất cả các phần tử khỏi tập hợp này mà không phải là thành viên trong tất cả các tập hợp được chỉ định khác.
set.add[element]
85Trả lại
set.add[element]
86 nếu không có phần tử nào từ tập hợp này là thành viên của bất kỳ tập hợp cụ thể nào khác. Các tập hợp là rời nhau khi và chỉ khi giao của chúng là tập hợp rỗng.
set.add[element]
87Trả lại
set.add[element]
86 nếu tất cả các phần tử của tập hợp này là thành viên của đối số tập hợp đã chỉ định.
set.add[element]
89Trả lại
set.add[element]
86 nếu tất cả các phần tử của đối số tập hợp đã chỉ định là thành viên của tập hợp này.
set.add[element]
41Xóa và trả lại phần tử ngẫu nhiên khỏi bộ này. Nếu tập hợp trống, nó sẽ tăng
set.add[element]
42.
set.add[element]
43Xóa và trả về một phần tử cụ thể khỏi tập hợp này như được xác định trong đối số. Nếu tập hợp không chứa phần tử, nó sẽ tăng
set.add[element]
42.
set.add[element]
45Trả về một tập hợp mới có các phần tử trong tập hợp này hoặc đối số tập hợp đã chỉ định, nhưng không phải các phần tử là thành viên của cả hai.
set.add[element]
46Thay thế bộ này bằng sự khác biệt đối xứng, tôi. e. , các phần tử trong tập hợp này hoặc đối số tập hợp đã chỉ định, nhưng không phải các phần tử là thành viên của cả hai.
set.add[element]
47Tạo và trả về một tập hợp mới với tất cả các thành phần trong tập hợp này hoặc trong bất kỳ đối số tập hợp nào đã chỉ định.
set.add[element]
48Cập nhật tập hợp này với tất cả các phần tử có trong tập hợp này hoặc trong bất kỳ đối số tập hợp đã chỉ định nào. Tập hợp kết quả có ít nhất nhiều phần tử như bất kỳ tập hợp nào khác

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Bạn có thể += để đặt Python không?

Bộ Python không triển khai toán tử + . Bạn có thể dùng. cho tập hợp và & cho tập hợp giao nhau. Các bộ thực hiện - như sự khác biệt của bộ. Bạn cũng có thể sử dụng ^ cho chênh lệch tập hợp đối xứng [i. e. , nó sẽ trả về một bộ mới chỉ có các đối tượng xuất hiện trong một bộ nhưng không xuất hiện trong cả hai 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.

Chúng ta có thể thêm vào tập hợp không?

Thêm Chuỗi vào Bộ Python . they can be appended using both the . thêm[] và. cập nhật[] phương pháp. Tùy thuộc vào cái bạn chọn sẽ mang lại kết quả khác nhau.

Tại sao add[] được sử dụng trong Python?

Định nghĩa và cách sử dụng. Phương thức add[] thêm phần tử vào tập hợp . Nếu phần tử đã tồn tại, phương thức add[] không thêm phần tử.

Chủ Đề