cómo convertir una cadena hexadecimal a ObjectId en Python

Tengo una lista de ObjectId que estoy iterando sobre los valores de búsqueda en un dict donde las claves son ObjectId.

email_count = 0 # user_id_list is a list of ObjectId's for user_id in user_id_list: # UuserIdemailCountD is a dict where they keys are objectIds email_count += UuserIdemailCountD[user_id] 

Sigo recibiendo el siguiente error:

 email_count += UuserIdemailCountD[user_id] KeyError: ObjectId('54a9c84ebf2e4e5b258b5412') 

Cuando user_id_list sobre user_id_list y solo user_id_list los identificadores, obtengo una cadena simple como esta 54a9c84ebf2e4e5b258b5412 .

¿Es la respuesta para convertir la cadena a ObjectId’s? ¿Si es así, cómo?

Importar ObjectId:

 from bson import ObjectId 

De ObjectId a cadena:

 oid = ObjectId() oid_str = str(oid) # oid_str is now '555fc7956cda204928c9dbab' 

De cadena a ObjectId:

 oid_str = '555fc7956cda204928c9dbab' oid2 = ObjectId(oid_str) print(repr(oid2)) # ObjectId('555fc7956cda204928c9dbab')