Frozenset trong Python

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 FacebookTwitter để 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úng

Nế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ống

Hã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ừ

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

Bộ là tập hợp các mục trong đó mỗi mục là duy nhất. Điều này bắt nguồn từ khái niệm toán học cùng tên. Python có hai loại tích hợp sẵn cho bộ. thiết lập và đóng băng. Tập hợp là đối tượng có thể thay đổi trong khi freezeset cung cấp triển khai không thể thay đổi .

Sự khác biệt giữa tuple và Frozenset là gì?

bộ dữ liệu là danh sách không thể thay đổi , bộ giá trị cố định là tập hợp không thể thay đổi . các tập hợp cố định không được lập chỉ mục, nhưng bạn có chức năng tra cứu phần tử tập hợp - O[1] và các chức năng như liên kết và giao điểm. Chúng cũng không thể chứa các bản sao, giống như các bản sao có thể thay đổi của chúng.

Làm cách nào để chuyển đổi Frozenset thành danh sách?

3] Chuyển đổi một Frozenset thành một danh sách. Đối tượng freezeset Python là một tập hợp các phần tử dữ liệu không có thứ tự bất biến. Do đó, bạn không thể sửa đổi các thành phần của Frozenset. Để chuyển tập hợp này thành danh sách, bạn phải sử dụng hàm danh sách và chuyển tập hợp làm tham số để lấy đối tượng danh sách làm đầu ra .

Làm cách nào để lấy giá trị từ freezeset trong Python?

Phương thức Frozenset[] của Python trả về một đối tượng Frozenset mới có các phần tử được lấy từ lần lặp đã truyền . Nếu iterable không được chỉ định, một bộ trống mới được trả về. Ghi chú. Các yếu tố phải được băm. Khi không có gì được chỉ định, phương thức Frozenset[] trả về một đối tượng Frozenset rỗng cho fz.

Chủ Đề