gpt4 book ai didi

python - 为什么 Python 的列表结构使用 **ob_item 而不是 *ob_item 存储 PyObject

转载 作者:太空宇宙 更新时间:2023-11-03 23:20:17 24 4
gpt4 key购买 nike

Python 的列表结构如下:

typedef struct {
PyObject_VAR_HEAD
PyObject **ob_item;
Py_ssize_t allocated;
} PyListObject;

为什么要使用 **ob_item?我认为 *ob_item 就足够了。

最佳答案

因为,与使用指针创建的任何列表一样,在添加和删除元素时,您需要更改节点指针指向的内容,而不仅仅是被指向的对象的值到(这就是您使用 *ob_item 得到的结果;**ob_item 让我们“重新指向”指针)。

请记住,列表不会包含实际对象,它包含指向它们的指针。为了能够使用指向指针的指针(正如我提到的,能够重新指向节点的指针),您需要 **

关于python - 为什么 Python 的列表结构使用 **ob_item 而不是 *ob_item 存储 PyObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com