No estoy seguro de a qué llamar lo que estoy buscando; entonces si no puedo encontrar esta pregunta en otra parte, me disculpo. En resumen, estoy escribiendo código python que se conectará directamente con el kernel de Linux. Es fácil de obtener los valores requeridos de incluir archivos de cabecera y escribirlos en mi fuente:mapeo bidireccional de Python
IFA_UNSPEC = 0
IFA_ADDRESS = 1
IFA_LOCAL = 2
IFA_LABEL = 3
IFA_BROADCAST = 4
IFA_ANYCAST = 5
IFA_CACHEINFO = 6
IFA_MULTICAST = 7
su fácil de usar estos valores en la construcción de estructuras para enviar al núcleo. Sin embargo, casi no ayudan a resolver los valores en las respuestas del kernel.
Si pongo los valores en dict, tendré que escanear todos los valores en el dicto para buscar claves para cada elemento en cada estructura del kernel, supongo. Debe haber una manera más simple y más eficiente.
¿Cómo lo harías? (No dude en cambiar el título de la pregunta de si su camino fuera)
Haga 2 dictados, uno asignado en cada dirección, tal vez? Esto sería eficiente si no es probable que sus asignaciones cambien. –
Creo que lo que pide se responde aquí http://stackoverflow.com/questions/3318625/efficient-bidirectional-hash-table-in-python. Si solo desea python, no rápido: filter (lambda k: a [k] == 3, a) le da IFA_LABEL –
@JoelCornett: publique su respuesta como respuesta para que pueda votar correctamente. –