ฟังก์ชันนี้ช่วยแปลงรายการ (list) ที่ mutable (เปลี่ยนแปลงได้) ให้กลายเป็น immutable (เปลี่ยนแปลงไม่ได้) สิ่งนี้จำเป็นเมื่อเราประกาศรายการที่องค์ประกอบเปลี่ยนแปลงได้ แต่หลังจากขั้นตอนบางขั้นตอน เราต้องการหยุดอนุญาตให้องค์ประกอบในมันเปลี่ยนแปลง ในสถานการณ์เช่นนั้น เราใช้ฟังก์ชัน frozenset() ตามที่แสดงด้านล่าง
ไวยากรณ์
Syntax: frozenset(iterable_object_name)
ในตัวอย่างด้านล่าง เราเอารายการ เปลี่ยนองค์ประกอบและพิมพ์มัน จากนั้นในขั้นตอนต่อไป เราใช้ฟังก์ชัน frozenset และลองเปลี่ยนองค์ประกอบอีกครั้ง ในขั้นตอนที่สอง เราจะได้ข้อผิดพลาดแสดงว่ารายการไม่สามารถแก้ไขได้อีกแล้ว
ตัวอย่าง
# ก่อนใช้ frozenset()
some_days = ["Mon", "Tue", "Wed", "Thu"]
# เปลี่ยนองค์ประกอบ
some_days[2] = "Fri"
print("some_days =", some_days)
# ใช้ frozenset()
fixed_days = frozenset(some_days)
print("fixed_days =", fixed_days)
# ลองเปลี่ยนองค์ประกอบใน frozenset
fixed_days[2] = "Wed"
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้:
some_days = ['Mon', 'Tue', 'Fri', 'Thu']
Traceback (most recent call last):
fixed_days = frozenset({'Thu', 'Mon', 'Fri', 'Tue'})
File "/py3.py", line 14, in
fixed_days[2] = "Wed"
TypeError: 'frozenset' object does not support item assignment