テキストファイルから情報を取得しています。パケットのIPアドレスとタイプ。私はIP/Typeの各出現をリスト/辞書に入れていますか?カウントを探して、IP /タイプがx回発生する場合は、その情報を別のリストに移動したいと考えています。2Dリストまたはディクショナリのリストを数えるには?
これはこれまで私が試したことです。
Dictsの一覧:
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']]
私はそれがx倍以上に現れたため、カウントを持つ別のリストに192.168、UDPを移動したいです。私はCounter
を試しましたが、私はそれを得ることができますが、IPとタイプではなく、IPを渡す。
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のK [ 'IP']()k.get( 'IP')の場合)またはカウンタ(data.iteritems())のような意味でください。どちらもうまくいかないようです。 –