Set Objects

2.5 版的新Function。

本节详细介绍了setfrozenset对象的公共 API。最好使用抽象对象协议(包括PyObject_CallMethod()PyObject_RichCompareBool()PyObject_Hash()PyObject_Repr()PyObject_IsTrue()PyObject_Print()PyObject_GetIter())或抽象数字协议(包括PyNumber_And()PyNumber_Subtract()PyNumber_Or()PyNumber_Xor()PyNumber_InPlaceAnd()PyNumber_InPlaceSubtract())访问以下未列出的任何Function,PyNumber_InPlaceOr()PyNumber_InPlaceXor())。

以下类型检查宏可用于指向任何 Python 对象的指针。同样,构造函数可以与任何可迭代的 Python 对象一起使用。

2.6 版的新Function。

2.6 版的新Function。

返回一个新的set,其中包含* iterable *返回的对象。 * iterable 可以为 NULL 以创建一个新的空集。如果成功,则返回新集;如果失败,则返回 NULL 。如果 iterable *实际上不是可迭代的,则提高TypeError。构造函数对于复制集合(c=set(s))也很有用。

返回一个新的frozenset,其中包含* iterable *返回的对象。 * iterable 可以为 NULL ,以创建一个新的空冻结集。如果成功,则返回新集;如果失败,则返回 NULL 。如果 iterable *实际上不是可迭代的,则提高TypeError

在 2.6 版中进行了更改:现在保证返回一个全新的frozenset。以前,零长度的冻结集是一个单例。这妨碍了使用PySet_Add()构建新的冻结集。

以下函数和宏可用于setfrozenset的实例或其子类型的实例。

在版本 2.5 中更改:此函数返回int。这可能需要更改您的代码以正确支持 64 位系统。

在 2.6 版中进行了更改:现在可用于frozenset或其子类型的实例。像PyTuple_SetItem()一样,它可以用于在新的冻结集暴露于其他代码之前填充它们的值。

以下Function适用于set或其子类型的实例,但不适用于frozenset或其子类型的实例。

返回对* set 中任意对象的新引用,并从 set 中删除该对象。失败时返回 NULL 。如果集合为空,则提高KeyError。如果 set *不是set或其子类型的实例,则引发SystemError

首页