• 技术文章 >Python技术 >Python基础教程

    python解释器如何实现字典合并

    小妮浅浅小妮浅浅2021-07-03 09:54:44原创2061

    说明

    1、实现字典合并生成新字典的逻辑,对应于 | 操作符。

    实现字典就地合并逻辑,对应于 |= 操作符。

    2、CPython的实现逻辑与纯Python的实现基本相同,只有引用计数的问题与对象的垃圾回收有关。

    实例

    // 实现字典合并生成新字典的逻辑,对应于 | 操作符
    static PyObject *
    dict_or(PyObject *self, PyObject *other)
    {
        if (!PyDict_Check(self) || !PyDict_Check(other)) {
            Py_RETURN_NOTIMPLEMENTED;
        }
        PyObject *new = PyDict_Copy(self);
        if (new == NULL) {
            return NULL;
        }
        if (dict_update_arg(new, other)) {
            Py_DECREF(new); // 减少引用计数
            return NULL;
        }
        return new;
    }
     
    // 实现字典就地合并逻辑,对应于 |= 操作符
    static PyObject *
    dict_ior(PyObject *self, PyObject *other)
    {
        if (dict_update_arg(self, other)) {
            return NULL;
        }
        Py_INCREF(self); // 增加引用计数
        return self;
    }

    以上就是python解释器实现字典合并的方法,希望对大家有所帮助。更多编程基础知识学习:python学习网

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python解释器
    品易云
    上一篇:python dict实现的魔法方法 下一篇:python数据形式有哪些

    相关文章推荐

    • python解释器在哪• 如何关闭Python解释器• python解释器写代码如何换行• pychram找不到python解释器怎么办• pycharm找不到python解释器怎么办• pycharm如何配置python解释器?• python解释器的提示符是什么• pycharm如何配置python解释器

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网