您好,登錄后才能下訂單哦!
本篇內容介紹了“Python嵌入C/C++創建字典的實際操作過程”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
如果你想用Python嵌入C/C++ 來進行字典操作,你就必須了解在創建字典時你所需要的相關函數,例如PyDict_New(),以下的文章就是介紹如何用相關的函數來進行Python嵌入C/C++ 字典操作的實際操作步驟。
在Python/C API中提供了PyDict_New()函數用以創建一個新的字典。PyDict_New()函數返回所創建的字典。其函數原型如下所示。
PyObject* PyDict_New()
當字典創建后,可以使用PyDict_SetItem()函數和PyDict_SetItemString()函數向字典中添加項。其函數原型分別如下所示。
int PyDict_SetItem( PyObject *p, PyObject *key, PyObject *val)
int PyDict_SetItemString( PyObject *p, const char *key, PyObject *val)
其參數含義如下。
Python線程編程解決異步線程中速度不同的
Python嵌入C/C+具有十分強大的運用功能介
Python unicode ascii編碼在windows上的
Python嵌入較低層次中常用兩種函數的介紹
Python 嵌入C/C++ 中的元組操作的詳細介
· p:要進行操作的字典。
· key:添加項的關鍵字,對于PyDict_SetItem()函數其為PyObject型,對于PyDict_SetItemString()函數其為char型。
· val:添加項的值。
使用Python/C API中的PyDict_GetItem()函數和PyDict_GetItemString()函數來獲取字典中某項的值。在Python嵌入C/C++ 中的字典操作時,它們都返回項的值。其函數原型分別如下所示。
PyObject* PyDict_GetItem( PyObject *p, PyObject *key)
PyObject* PyDict_GetItemString( PyObject *p, const char *key)
其參數含義如下。
· p:要進行操作的字典。
· key:添加項的關鍵字,對于PyDict_GetItem()函數其為PyObject型,對于PyDict_GetItemString()函數其為char型。
使用Python/C API中的PyDict_DelItem()函數和PyDict_DelItemString()函數可以刪除字典中的某一項。其函數原型如下所示。
int PyDict_DelItem( PyObject *p, PyObject *key)
int PyDict_DelItemString( PyObject *p, char *key)
其參數含義如下。
· p:要進行操作的字典。
· key:添加項的關鍵字,對于PyDict_DelItem()函數其為PyObject型,對于PyDict_DelItemString()函數其為char型。
使用Python/C API中的PyDict_Next()函數可以對字典進行遍歷。其函數原型如下所示。
int PyDict_Next( PyObject *p, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue)
其參數含義如下。
· p:要進行遍歷的字典。
· ppos:字典中項的位置,應該被初始化為0。
· pkey:返回字典的關鍵字。
· pvalue:返回字典的值。
在Python/C API中提供了與Python中字典操作相對應的函數。例如字典的item方法對應于PyDict_Items()函數。字典的keys方法對應于PyDict_Keys()函數。字典的values方法對應于PyDict_Values()函數。其函數原型分別如下所示。
PyObject* PyDict_Items( PyObject *p)
PyObject* PyDict_Keys( PyObject *p)
PyObject* PyDict_Values( PyObject *p)
其參數含義如下。
· p:要進行操作的字典。
“Python嵌入C/C++創建字典的實際操作過程”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。