Zum Beispiel löst dict.pop() einen KeyError aus, wenn der Schlüssel nicht existiert. .pop() akzeptiert auch ein Argument für einen Standardrückgabewert. In diesem Beispiel könnten wir die Standardrückgabe auf None setzen, also: some_dict.pop(some_key, None)
Wenn Sie pop in Python definieren würden, hätten Sie wahrscheinlich:
Code: Select all
def pop(some_key, default=None):gefunden
Code: Select all
PyObject *
_PyDict_Pop(PyObject *dict, PyObject *key, PyObject *deflt)
{
Py_hash_t hash;
if (((PyDictObject *)dict)->ma_used == 0) {
if (deflt) {
Py_INCREF(deflt);
return deflt;
}
_PyErr_SetKeyError(key);
return NULL;
}
if (!PyUnicode_CheckExact(key) ||
(hash = ((PyASCIIObject *) key)->hash) == -1) {
hash = PyObject_Hash(key);
if (hash == -1)
return NULL;
}
return _PyDict_Pop_KnownHash(dict, key, hash, deflt);
}
Mobile version