.pop()を呼び出すと、空のセットとリストで異なる例外が発生するのはなぜですか?空のセットとリストからのポップの例外は何ですか?
>>> 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'
数秒で私を殴る! – inspectorG4dget
ディクショナリが空であるかどうかにかかわらず、 'dict.pop({key value}) 'に与えられたキーが存在しないときに' KeyError'を得ることは確かに意味がありますが、 'set.pop () 'を引数として受け付けません。私の推測では、Python 2.3で導入された['sets'](http://docs.python.org/2/library/sets.html)モジュールの' Set'クラスと互換性があり、辞書を使って実装されていますドキュメントに従って。 – martineau
@martineau: '.remove()'も 'KeyError'を送出します。 [this commit](http://hg.python.org/cpython/file/3086620db46b/Objects/setobject.c)によれば、 'dict.pop()' *の後ろに明示的にモデル化されています。 –