Tại sao các tập hợp và danh sách sản phẩm nào lại đưa ra các ngoại lệ khác nhau khi bạn gọi .pop()?Ngoại lệ khác nhau cho cửa sổ bật lên từ bộ và danh sách trống?
>>> l = []
>>> l.pop()
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
l.pop()
IndexError: pop from empty list
>>> l = set()
>>> l.pop()
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
l.pop()
KeyError: 'pop from an empty set'
Đánh bại tôi bằng giây! – inspectorG4dget
Nhận 'KeyError' khi khóa được cung cấp cho' dict.pop ({key value}) 'không tồn tại, bất kể từ điển có trống hay không, chắc chắn có ý nghĩa, nhưng không quá nhiều với' set.pop() 'không chấp nhận một đối số. Tôi đoán là nó tương thích với lớp 'Set' trong mô-đun [' sets'] (http://docs.python.org/2/library/sets.html) được giới thiệu trong Python 2.3 đã được triển khai bằng cách sử dụng từ điển theo tài liệu. – martineau
@martineau: '.remove()' cũng tăng một 'KeyError'. Theo [cam kết này] (http://hg.python.org/cpython/file/3086620db46b/Objects/setobject.c) nó được mô hình hóa sau 'dict.pop()' * một cách rõ ràng *. –