Ghi chú. - Frozensets có thể được tạo bằng cách sử dụng hàm freezeset[]. Kiểu dữ liệu này hỗ trợ các phương thức như sao chép[], chênh lệch[], giao nhau[], isdisjoint[], issubset[], issuperset[], symmetric_difference[] và union[]. Là bất biến, nó không có phương thức thêm hoặc xóa phần tử
Trình bày bằng hình ảnh
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để xóa tất cả các phần tử khỏi một tập hợp đã cho
Kế tiếp. Viết chương trình Python tìm giá trị lớn nhất và nhỏ nhất trong một tập hợp
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
Tối ưu hóa bộ nhớ
Khi bạn bắt đầu chỉnh sửa các triển khai Python mặc định vì lý do tốc độ và hiệu quả, bạn biết rằng mình đang bắt đầu bước vào lĩnh vực chuyên gia
Các lớp Python sử dụng từ điển cho các thuộc tính tức thì theo mặc định, điều này có thể chiếm khá nhiều dung lượng ngay cả khi bạn đang xây dựng một đối tượng lớp
Khi gặp trường hợp này, bạn có thể sử dụng phép thuật __slots__ để buộc Python không có từ điển thuộc tính đối tượng mặc định khối lớn và thay vào đó có một danh sách tùy chỉnh nhỏ. Điều này có thể tiết kiệm rất nhiều bộ nhớ trong các ứng dụng phù hợp
Python cung cấp hai hàm dựng sẵn là set[] và freezeset[]. Hai chức năng này được sử dụng để tạo tập hợp nhưng có một vài điểm khác biệt. Hãy xem cách bạn có thể sử dụng chúng
Bộ Python[]
Một tập hợp là một tập hợp các phần tử duy nhất không có thứ tự và không được lập chỉ mục. Các tập hợp có thể thay đổi, bạn có thể thay đổi các phần tử bằng hàm tích hợp sẵn như add[], remove[], v.v. Vì các phần tử có thể thay đổi và không theo thứ tự nên chúng không có giá trị băm. Vì vậy, bạn không thể truy cập các phần tử với sự trợ giúp của các số chỉ mục
Ghi chú. Không thể sử dụng các bộ làm khóa từ điển hoặc làm thành phần của một bộ khác. Chúng có thể được sử dụng như một giá trị từ điển
Tập hợp được biểu thị bằng dấu ngoặc nhọn như thế này {}
hoặc bạn có thể sử dụng set[]
. Bạn không thể chỉ sử dụng dấu ngoặc nhọn để tạo tập rỗng, điều này sẽ tạo từ điển. Bạn có thể sử dụng set[]
nếu bạn muốn tạo một tập hợp trống. Các bộ có thể bao gồm bất kỳ loại dữ liệu bất biến nào như chuỗi, số, bộ, v.v. Bạn cũng có thể bao gồm loại dữ liệu có thể thay đổi như danh sách, từ điển, v.v.
Hãy xem qua một số ví dụ và xem một số thao tác bạn có thể thực hiện trên tập hợp
fruits = {"Apple", "Banana", "Cherry", "Apple", "Kiwi"}
print['Unique elements:', fruits]
# Add new fruit
fruits.add["Orange"]
print['After adding new element:', fruits]
# Size of the set
print['Size of the set:', len[fruits]]
# check if the element is present in the set
print['Apple is present in the set:', "Apple" in fruits]
print['Mango is present in the set:', "Mango" in fruits]
# Remove the element from the set
fruits.remove["Mango"]
print['After removing element:', fruits]
# Discard the element from the set
fruits.discard["Mango"]
print['After discarding element:', fruits]
Đầu ra của đoạn mã trên như sau
Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
Trong ví dụ trên, một số hàm có sẵn đã được sử dụng. Tồn tại 2 hàm
Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
1 và Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
2 giúp loại bỏ phần tử ra khỏi tập hợp. Cả hai đều loại bỏ phần tử khỏi tập hợp nếu có một phần tử có trong tập hợp nhưng có sự khác biệt giữa chúngNếu phần tử không có trong tập hợp mà bạn muốn xóa thì
Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
2 sẽ không trả về trong khi Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
1 sẽ gây ra lỗi. Bạn có thể tìm hiểu thêm về các hoạt động từBộ đóng băng Python[]
Một Frozenset là một tập hợp các phần tử duy nhất không có thứ tự và không được lập chỉ mục. Nó là bất biến và nó có thể băm. Nó còn được gọi là một tập hợp bất biến. Vì các phần tử là cố định, không giống như các bộ, bạn không thể thêm hoặc xóa các phần tử khỏi bộ
Frozensets có thể băm được, bạn có thể sử dụng các phần tử làm khóa từ điển hoặc làm phần tử từ một bộ khác. Frozensets được đại diện bởi chức năng tích hợp là
Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
5. Nó trả về một tập rỗng nếu không có phần tử nào trong đó. Bạn có thể sử dụng Unique elements: {'Kiwi', 'Apple', 'Cherry', 'Banana'}
After adding new element: {'Kiwi', 'Orange', 'Banana', 'Apple', 'Cherry'}
Size of the set: 5
Apple is present in the set: True
Mango is present in the set: False
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 19, in
Fruits.remove["Mango"]
KeyError: 'Mango'
5 nếu bạn muốn tạo một tập hợp trốngHãy xem qua một số ví dụ để hiểu thêm về freezeset
________số 8_______
Đầu ra của đoạn mã trên như sau
Unique elements: frozenset[{'Kiwi', 'Cherry', 'Apple', 'Banana'}]
Traceback [most recent call last]:
File "c:\Users\hp\Desktop\set[] and frozenset[].py", line 37, in
Basket.add["Orange"]
AttributeError: 'frozenset' object has no attribute 'add'
Ví dụ trên cho thấy bạn không thể thêm phần tử mới vào Frozenset
Hãy xem cách sử dụng từ điển với freezeset
student = {"Name": "John", "Age": "25", "Gender": "Male"}
key = frozenset[student]
print["The keys are:", key]
đầu ra
The keys are: frozenset[{'Age', 'Name', 'Gender'}]
Hãy xem các thao tác khác mà bạn có thể thực hiện trên bộ đóng băng, bạn cũng có thể thực hiện các thao tác này trên bộ bình thường
numbers1 = frozenset[[1, 2, 3, 4, 5]]
numbers2 = frozenset[[2, 3, 4, 5]]
# Combining both of them using "|" operator
# You can also use union[] method
combined = numbers1 | numbers2
print["Combined set:", combined]
# Selecting common elements using "&" operator
# You can also use intersection[] method
intersect = numbers1 & numbers2
print["Intersected set:", intersect]
# Selecting elements which are not common using "-" operator
# You can also use difference[] method
difference = numbers1 - numbers2
print["Difference set:", difference]
# Membership testing
# It returns True if sets [frozenset] have no common items otherwise False
Disjoint = numbers1.isdisjoint[numbers2]
print["Disjoint:", Disjoint]
# It returns True if all the items of a set [frozenset] are common in another set [frozenset]
Subset = numbers1.issubset[numbers2]
print["Subset:", Subset]
# It returns True if a set [frozenset] has all items present in another set [frozenset]
Superset = numbers1.issuperset[numbers2]
print["Superset:", Superset]
Đầu ra của đoạn mã trên như sau
Combined set: frozenset[{1, 2, 3, 4, 5}]
Intersected set: frozenset[{2, 3, 4, 5}]
Difference set: frozenset[{1}]
Disjoint: False
Subset: False
Superset: True
Bạn có thể tìm hiểu thêm về các hoạt động từ
Phần kết luận
Cho đến nay chúng ta đã học về bộ và bộ đóng băng. Chúng tôi cũng đã tìm hiểu về các thao tác mà bạn có thể thực hiện trên bộ và bộ cố định. Chúng tôi cũng đã tìm hiểu về sự khác biệt giữa bộ và bộ đóng băng. Bạn có thể tìm hiểu thêm về họ từ