我從文本文件中獲取信息,IP地址和數據包的類型。我將IP/Type的每次出現置於列表/字典中?然後我想查找計數,如果該IP /類型出現x次,那麼我想將該信息移動到另一個列表。如何統計2D列表或詞典列表?
這是我到目前爲止嘗試過的。
類型的字典列表:
data = [{'ip': '192.168', 'type': 'UDP'},
{'ip': '192.173', 'type': 'TCP'},
{'ip': '192.168', 'type': 'UDP'}]
或2維列表
data = [['192.168', 'UDP'],
['192.173', 'TCP'],
['192.168', 'UDP']]
我想移動192.168,UDP與計數另一個列表,因爲它表現出了比X倍以上。我試過Counter
,但我只能通過ip,而不是ip和type。
ipInfo = Counter(k['ip'] for k in data if k.get('ip'))
for info, count in ipInfo.most_common():
print info, count
這隻能打印出192.168, 2
不192.168, UDP, 2
。
從我的榜樣,我希望能夠添加[192.168, UDP, 2]
或{'ip': '192.168', 'type': 'UDP', 'count':2}
到另一個列表。
你的意思是像計數器(在data.iteritems K [ 'IP']對於k()如果k.get( 'IP'))或計數器(data.iteritems())。這兩個似乎都沒有工作。 –