Tôi không chắc chắn nên gọi những gì tôi đang tìm kiếm; vì vậy nếu tôi không tìm thấy câu hỏi này ở nơi khác, tôi xin lỗi. Trong ngắn hạn, tôi đang viết mã python sẽ giao diện trực tiếp với nhân Linux. Dễ dàng nhận các giá trị bắt buộc từ các tệp tiêu đề bao gồm và ghi chúng vào nguồn của tôi:Lập bản đồ hai chiều của 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
Dễ sử dụng các giá trị này khi xây dựng cấu trúc để gửi tới hạt nhân. Tuy nhiên, chúng hầu như không có sự trợ giúp để giải quyết các giá trị trong các phản hồi từ hạt nhân.
Nếu tôi đặt các giá trị vào dict, tôi sẽ phải quét tất cả các giá trị trong dict để tìm kiếm các khóa cho mỗi mục trong mỗi cấu trúc từ hạt nhân tôi giả sử. Phải có một cách đơn giản hơn, hiệu quả hơn.
Bạn sẽ làm như thế nào? (Cảm thấy tự do để retitle câu hỏi nếu theo cách của mình off)
Thực hiện 2 dicts, một bản đồ theo từng hướng, có thể? Điều này sẽ hiệu quả nếu ánh xạ của bạn không có khả năng thay đổi. –
Tôi nghĩ rằng những gì bạn yêu cầu được trả lời ở đây http://stackoverflow.com/questions/3318625/efficient-bidirectional-hash-table-in-python. Nếu bạn chỉ muốn pythonic, không nhanh: filter (lambda k: a [k] == 3, a) cung cấp cho bạn IFA_LABEL –
@JoelCornett: Vui lòng đăng câu trả lời của bạn làm câu trả lời để có thể bình chọn đúng. –