Доброго дня,Python: DeDup словарь
Я читала в PCAP, и я в основном пытаюсь получить dedup'd список BSSID-х & ESSID лет. Я до сих пор получаю дубликаты с этим кодом и не могу за жизнь мне понять, что я делаю неправильно:
if not (t[0] in ssid_pairs and ssid_pairs[t[0]] == t[1]):
ssid_pairs[t[0]] = t[1]
of.write(t[0] + ',' + t[1] + ((',' + f + '\n') if verbose else '\n'))
ssid_pairs является словарем, т [0] является BSSID & т [1] является ESSID , Пример словаря:
{'FF:FF:FF:FF:FF:FF':'MyWIFI',...}
Я до сих пор видим несколько экземпляров одного и того же пары кнопочная> значение записывается в файл. Я помещаю некоторые отладочные операторы печати, и иногда он распознает дубликат, иногда это не будет. Это из parse pcap с scapy.
Спасибо за любую помощь.
*** EDIT: Спасибо всем, я не очень правильно решаю свою проблему с помощью словаря. Время думать, что это через немного понятнее ...
Пожалуйста, добавьте пример словаря. –
Обратите внимание, что словари уже уникальны, поскольку каждый ключ уникален. «Дедублирование» словаря не имеет смысла. Попробуйте: '{'FF: FF: FF: FF: FF: FF': 'MyWIFI', 'FF: FF: FF: FF: FF: FF': 'MySecondWIFI'}' дает просто '{'FF: FF : FF: FF: FF: FF ':' MySecondWIFI '} '. Если вы хотите дедуплировать отдельные списки, это совсем другое дело. Просьба уточнить ваш вопрос или предоставить полный код. –
Да, это имеет смысл. Поскольку я разбираю pcap, у меня много пакетов с одной и той же bssid/essid-парой, и я хочу отфильтровать их, но я хочу увидеть тот же bssid с другим тезису (например, пустой темой в пакете) , –