Python xóa các mục khỏi tập hợp

Trong bài viết này, chúng ta sẽ học cách xóa phần tử trong set bằng Python. Chúng tôi sẽ sử dụng một số chức năng tích hợp, một số cách tiếp cận đơn giản và một số mã tùy chỉnh để hiểu rõ hơn về chủ đề. Trước tiên chúng ta hãy xem nhanh tập hợp trong Python là gì

Python Set là một kiểu dữ liệu tích hợp. Nó là một tập hợp các giá trị dữ liệu không có thứ tự. Một tập dữ liệu không có thứ tự dẫn đến các giá trị không được lập chỉ mục. Không thể truy cập giá trị tập hợp bằng cách sử dụng số chỉ mục như chúng tôi đã làm trong danh sách. Các giá trị đã đặt là bất biến, điều đó có nghĩa là chúng ta không thể thay đổi các giá trị sau khi tạo chúng. Dữ liệu bên trong tập hợp có thể thuộc bất kỳ loại nào, chẳng hạn như số nguyên, chuỗi hoặc giá trị float. Ví dụ,

Đặt ví dụ

set1 = {"Ram", "Arun", "Kiran"}
set2 = {16, 78, 32, 67}
set3 = {"apple", "mango", 16, "cherry", 3}

Xóa phần tử trong Set

Xóa các phần tử khỏi một tập hợp trong Python về cơ bản có nghĩa là xóa hoặc loại bỏ một hoặc nhiều phần tử khỏi tập hợp. Chúng tôi biết rằng các giá trị của tập hợp là bất biến, điều đó có nghĩa là các giá trị của một tập hợp không thể thay đổi sau khi tạo. Tuy nhiên, bản thân tập hợp có thể thay đổi, nghĩa là chúng ta có thể thực hiện các thao tác thêm, đọc và xóa trên đó

Hãy xem xét các phương pháp dưới đây và tìm hiểu các cách khác nhau để xóa các phần tử khỏi một tập hợp nhất định

  1. Sử dụng hàm remove()
  2. Sử dụng chức năng loại bỏ()
  3. Sử dụng hàm pop()
  4. Sử dụng hàm Difference_update()

1. Sử dụng hàm remove()

Đây là một chức năng tích hợp được cung cấp bởi set trong Python. Nó loại bỏ phần tử đã cho được truyền dưới dạng đối số khỏi tập hợp. Nó chỉ xóa một phần tử một lần. Nó chỉ xóa phần tử nếu phần tử tồn tại trong tập hợp, ngược lại nếu phần tử không có trong tập hợp, chương trình sẽ báo lỗi hoặc phát sinh ngoại lệ

cú pháp

set.remove(element)

Thí dụ. Xóa nếu Phần tử tồn tại trong tập hợp

Hàm remove() lấy một phần tử để xóa. Chương trình sẽ trả về tập hợp cập nhật

# input set
set1 = {1,5,8,12,7}

# removing '8' from the set and prints None
print(set1.remove(8))

# Updated set
print('Updated set after deletion:', set1)


Không có
Đã cập nhật bộ sau khi xóa. {1, 5, 12, 7}

Thí dụ. Xóa nếu phần tử không tồn tại trong tập hợp

Ở đây, chúng tôi đang chuyển một giá trị cho hàm remove() để xóa. Vì giá trị này không tồn tại trong tập hợp. Chương trình sẽ tạo ra một

set.remove(element)
3

# input set
set1 = {1,5,8,12,7}

# removing '9' from the set
set1.remove(9)

# Updated set
print('Updated set after deletion:', set1)


Lỗi chính. 9

Ghi chú. Để tránh KeyError, trước tiên chúng ta phải luôn kiểm tra xem một phần tử có tồn tại trong tập hợp hay không trước khi cố gắng xóa phần tử đó

2. Sử dụng chức năng loại bỏ()

Đây là một chức năng tích hợp được cung cấp bởi set trong Python. Nó loại bỏ phần tử đã cho được cung cấp làm đối số khỏi tập hợp. Sự khác biệt giữa

set.remove(element)
4 và
set.remove(element)
5 là trong trường hợp loại bỏ(), nếu phần tử không tồn tại trong tập hợp, chương trình sẽ không tạo ra bất kỳ lỗi nào và nó sẽ in ra tập hợp ban đầu. Discard() cũng có thể xóa nhiều phần tử bằng vòng lặp for trong chương trình. Nhìn vào các ví dụ khác nhau dưới đây

cú pháp

set.discard(element)

Ví dụ. Xóa nếu phần tử tồn tại trong tập hợp

Hàm discard() lấy một phần tử để xóa. Chương trình sẽ trả về tập hợp cập nhật

________số 8_______


Không có
Đã cập nhật bộ sau khi xóa. {1, 5, 12, 7}

Thí dụ. Xóa nếu phần tử không tồn tại trong tập hợp

Hàm discard() lấy một phần tử để xóa không tồn tại trong tập hợp. Thay vì tạo ra lỗi, chương trình sẽ trả về bộ ban đầu

# input set
set1 = {1,5,8,12,7}

# removing '9' from the set
set1.discard(9)

# Updated set
print('Updated set after deletion:', set1)


Đã cập nhật bộ sau khi xóa. {1, 5, 7, 8, 12}

Thí dụ. Loại bỏ nhiều phần tử bằng cách sử dụng hàm for loop & discard()

Mã này sẽ xóa nhiều phần tử khỏi bộ đầu vào đã cho. Phải mất một danh sách mới các yếu tố cần phải được xóa. Sau đó, nó lặp lại các phần tử của danh sách phần tử mới và xóa từng phần tử một khỏi tập hợp bằng cách sử dụng discard() và in tập hợp đã cập nhật

# original input set
set1 = {1, 5, 8, 12, 4, 32}

#new list that contains the elements to be deleted
delete = [1, 5, 4]

# Iterate over the list of elements
for ele in delete:
       # Remove element from the set
       set1.discard(ele)

print('Updated set after deletion:', set1)


Đã cập nhật bộ sau khi xóa. {32, 8, 12}

3. Sử dụng hàm pop()

Phương thức này sử dụng hàm

set.remove(element)
6 tích hợp được cung cấp bởi set trong Python. Nó loại bỏ mọi phần tử tùy ý khỏi tập hợp. Nó có thể loại bỏ một hoặc nhiều phần tử cùng một lúc. Các phần tử khác nhau được loại bỏ mỗi khi chương trình chạy. Nó không có bất kỳ đối số. hàm pop() sẽ tạo TypeError nếu bộ đầu vào đã cho trống

cú pháp

set.pop()

Thí dụ. Xóa nếu bộ không trống

Ví dụ dưới đây sử dụng hàm pop(). Nó trả về các phần tử bị xóa tùy ý và sau đó in tập hợp đã cập nhật

# original input set
set1 = {1, 5, 8, 12, 4, 32}

#returns deleted elements
print(set1.pop())

#prints updated set
print('Updated set after deletion:', set1)


(Các) phần tử đã xóa. 32
Đã cập nhật bộ sau khi xóa. {1, 4, 5, 8, 12}

Ví dụ. Xóa nếu bộ trống

Trong ví dụ này, chúng tôi đang sử dụng một tập rỗng và áp dụng hàm pop(). Vì bộ này trống nên nó sẽ tạo TypeError

set.remove(element)
0


LoạiLỗi. pop mong đợi ít nhất 1 đối số, có 0

4. Sử dụng hàm Difference_update()

Phương pháp này sử dụng hàm

set.remove(element)
7 của Python. Nó loại bỏ nhiều phần tử khỏi tập hợp đã cho. Nó yêu cầu một danh sách các yếu tố cần được xóa. Phương pháp này hữu ích cho những người lập trình muốn xóa một tập hợp các mục trong một câu lệnh

cú pháp

set.remove(element)
1

Thông số

set.remove(element)
8 - Nó chấp nhận một chuỗi các phần tử làm đối số và xóa tất cả các phần tử trong chuỗi này khỏi tập hợp

Ví dụ

Ở đây, chúng tôi đang xóa nhiều phần tử cùng một lúc bằng cách sử dụng hàm differ_update()

set.remove(element)
2


Đã cập nhật bộ sau khi xóa. {32, 8, 12}

Phần kết luận

Trong bài viết này, chúng ta đã học cách xóa các phần tử khỏi một tập hợp bằng cách sử dụng một số hàm có sẵn như

set.remove(element)
5,
set.remove(element)
4,
set.remove(element)
6 và
set.remove(element)
7. Chúng tôi cũng đã sử dụng một số mã tùy chỉnh để hiểu các vấn đề khác nhau. Chúng tôi đã xem một số ví dụ về việc xóa và xem điều gì sẽ xảy ra nếu người dùng cố gắng xóa một phần tử không tồn tại và loại lỗi nào sẽ tạo ra trong từng trường hợp