溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python嵌入C/C++創(chuàng)建字典的實(shí)際操作過程

發(fā)布時間:2021-07-28 11:43:07 來源:億速云 閱讀:457 作者:chen 欄目:編程語言

本篇內(nèi)容介紹了“Python嵌入C/C++創(chuàng)建字典的實(shí)際操作過程”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

如果你想用Python嵌入C/C++ 來進(jìn)行字典操作,你就必須了解在創(chuàng)建字典時你所需要的相關(guān)函數(shù),例如PyDict_New(),以下的文章就是介紹如何用相關(guān)的函數(shù)來進(jìn)行Python嵌入C/C++ 字典操作的實(shí)際操作步驟。

在Python/C API中提供了PyDict_New()函數(shù)用以創(chuàng)建一個新的字典。PyDict_New()函數(shù)返回所創(chuàng)建的字典。其函數(shù)原型如下所示。

PyObject* PyDict_New()

當(dāng)字典創(chuàng)建后,可以使用PyDict_SetItem()函數(shù)和PyDict_SetItemString()函數(shù)向字典中添加項(xiàng)。其函數(shù)原型分別如下所示。

int PyDict_SetItem( PyObject *p, PyObject *key, PyObject *val)

int PyDict_SetItemString( PyObject *p, const char *key, PyObject *val)

其參數(shù)含義如下。

  • Python線程編程解決異步線程中速度不同的

  • Python嵌入C/C+具有十分強(qiáng)大的運(yùn)用功能介

  • Python unicode ascii編碼在windows上的

  • Python嵌入較低層次中常用兩種函數(shù)的介紹

  • Python 嵌入C/C++ 中的元組操作的詳細(xì)介

· p:要進(jìn)行操作的字典。

· key:添加項(xiàng)的關(guān)鍵字,對于PyDict_SetItem()函數(shù)其為PyObject型,對于PyDict_SetItemString()函數(shù)其為char型。

· val:添加項(xiàng)的值。

使用Python/C API中的PyDict_GetItem()函數(shù)和PyDict_GetItemString()函數(shù)來獲取字典中某項(xiàng)的值。在Python嵌入C/C++ 中的字典操作時,它們都返回項(xiàng)的值。其函數(shù)原型分別如下所示。

PyObject* PyDict_GetItem( PyObject *p, PyObject *key)

PyObject* PyDict_GetItemString( PyObject *p, const char *key)

其參數(shù)含義如下。

· p:要進(jìn)行操作的字典。

· key:添加項(xiàng)的關(guān)鍵字,對于PyDict_GetItem()函數(shù)其為PyObject型,對于PyDict_GetItemString()函數(shù)其為char型。

使用Python/C API中的PyDict_DelItem()函數(shù)和PyDict_DelItemString()函數(shù)可以刪除字典中的某一項(xiàng)。其函數(shù)原型如下所示。

int PyDict_DelItem( PyObject *p, PyObject *key)

int PyDict_DelItemString( PyObject *p, char *key)

其參數(shù)含義如下。

· p:要進(jìn)行操作的字典。

· key:添加項(xiàng)的關(guān)鍵字,對于PyDict_DelItem()函數(shù)其為PyObject型,對于PyDict_DelItemString()函數(shù)其為char型。

使用Python/C API中的PyDict_Next()函數(shù)可以對字典進(jìn)行遍歷。其函數(shù)原型如下所示。

int PyDict_Next( PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)

其參數(shù)含義如下。

· p:要進(jìn)行遍歷的字典。

· ppos:字典中項(xiàng)的位置,應(yīng)該被初始化為0。

· pkey:返回字典的關(guān)鍵字。

· pvalue:返回字典的值。

在Python/C API中提供了與Python中字典操作相對應(yīng)的函數(shù)。例如字典的item方法對應(yīng)于PyDict_Items()函數(shù)。字典的keys方法對應(yīng)于PyDict_Keys()函數(shù)。字典的values方法對應(yīng)于PyDict_Values()函數(shù)。其函數(shù)原型分別如下所示。

PyObject* PyDict_Items( PyObject *p)

PyObject* PyDict_Keys( PyObject *p)

PyObject* PyDict_Values( PyObject *p)

其參數(shù)含義如下。

· p:要進(jìn)行操作的字典。

“Python嵌入C/C++創(chuàng)建字典的實(shí)際操作過程”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI