Sto avendo un dizionario,Utilizzando un dizionario in Cython, soprattutto all'interno nogil
my_dict = {'a':[1,2,3], 'b':[4,5] , 'c':[7,1,2])
voglio utilizzare questo dizionario all'interno di una funzione di Cython nogil. Così, ho provato a dichiararlo come
cdef dict cy_dict = my_dict
Fino a questo stadio va bene.
Ora ho bisogno di scorrere i tasti di my_dict e se i valori sono in elenco, scorrere su di esso. In Python, è abbastanza facile come segue:
for key in my_dict:
if isinstance(my_dict[key], (list, tuple)):
###### Iterate over the value of the list or tuple
for value in list:
## Do some over operation.
Ma, dentro Cython, voglio implementare la stessa che anche all'interno nogil. Come, gli oggetti Python non sono permessi all'interno di nogil, io sono tutto bloccato qui.
with nogil:
#### same implementation of the same in Cython
Qualcuno può aiutarmi per favore?
Grazie. Fammi dare un'occhiata. Tipo di dati all'interno del dizionario, lo terrò come lista. Per la compilazione, posso seguire il normale modo Cython giusto? –
Devi specificare la lingua come descritto [qui] (http://docs.cython.org/src/userguide/wrapping_CPlusPlus.html#specify-c-language-in-setup-py) ma altrimenti dovrebbe funzionare normalmente modo. – DavidW
Oh, mi dispiace. Ho cancellato il commento, perché l'ho trovato funzionante. Mi spiace menzionare che –