Non sono sicuro di cosa chiamare ciò che sto cercando; quindi se non riesco a trovare questa domanda altrove, mi scuso. In breve, sto scrivendo il codice Python che si interfaccia direttamente con il kernel di Linux. La sua facile per ottenere i valori richiesti da includere file di intestazione e scriverli a mia fonte:Mappatura bidirezionale 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
sua facile da usare questi valori quando si costruiscono le strutture di inviare al kernel. Tuttavia, non sono quasi di nessun aiuto per risolvere i valori nelle risposte dal kernel.
Se metto i valori in DAT, dovrei scansionare tutti i valori nel dict per cercare le chiavi per ogni elemento in ogni struct dal kernel che presumo. Ci deve essere un modo più semplice ed efficiente.
Come lo faresti? (Sentitevi liberi di reintitolatelo alla domanda se il suo modo fuori)
Crea 2 dts, uno mappato in ciascuna direzione, forse? Ciò sarebbe efficace se le tue mappature non dovessero cambiare. –
Penso che quello che chiedi sia risposto qui http://stackoverflow.com/questions/3318625/efficient-bidirectional-hash-table-in-python. Se vuoi solo pythonic, non veloce: filter (lambda k: a [k] == 3, a) ti dà IFA_LABEL –
@JoelCornett: Si prega di postare la risposta come risposta in modo che possa essere votato correttamente. –