python3:set和itertools.group通过产生不同的结果?

问题描述 投票:0回答:1

我有一些要使用IPWhois解析的Apache访问日志。

我想基于IPWhois字段将asn_description结果分组。

以下代码段中的setitertools.groupby()是否具有不同的结果?

descs = set()

with open(RESULTSFILE, 'a+') as r:
    for description, items in groupby(results, key=lambda x: x['asn_description']):
        print('ASN Description: ' + description)
        descs.add(description)

print(descs)

例如

ASN Description: GOOGLE - Google LLC, US
ASN Description: AVAST-AS-DC, CZ
ASN Description: FACEBOOK - Facebook, Inc., US
ASN Description: AVAST-AS-DC, CZ
ASN Description: AMAZON-AES - Amazon.com, Inc., US
ASN Description: FACEBOOK - Facebook, Inc., US
ASN Description: AMAZON-02 - Amazon.com, Inc., US
ASN Description: AMAZON-02 - Amazon.com, Inc., US
ASN Description: GOOGLE - Google LLC, US
ASN Description: GOOGLE-2 - Google LLC, US
ASN Description: AMAZON-02 - Amazon.com, Inc., US
{'FACEBOOK - Facebook, Inc., US', 'AVAST-AS-DC, CZ', 'AMAZON-AES - Amazon.com, Inc., US', 'GOOGLE-2 - Google LLC, US', 'GOOGLE - Google LLC, US', 'AMAZON-02 - Amazon.com, Inc., US',
python itertools whois
1个回答
0
投票
import itertools descs = dict() with open(RESULTSFILE, 'a+') as r: for i, (description, items) in enumerate(itertools.groupby(results, key=lambda x: x['asn_description'])): print('ASN Description: ' + description) descs.update({i: description}) print(descs)
© www.soinside.com 2019 - 2024. All rights reserved.