【发布时间】:2023-04-06 20:36:01
【问题描述】:
我有这样的字典:
yahoo.com|98.136.48.100
yahoo.com|98.136.48.105
yahoo.com|98.136.48.110
yahoo.com|98.136.48.114
yahoo.com|98.136.48.66
yahoo.com|98.136.48.71
yahoo.com|98.136.48.73
yahoo.com|98.136.48.75
yahoo.net|98.136.48.100
g03.msg.vcs0|98.136.48.105
其中我有重复的键和值。我想要的是具有唯一键(ips)和唯一值(域)计数的最终字典。我已经准备好了以下代码:
for dirpath, dirs, files in os.walk(path):
for filename in fnmatch.filter(files, '*.txt'):
with open(os.path.join(dirpath, filename)) as f:
for line in f:
if line.startswith('.'):
ip = line.split('|',1)[1].strip('\n')
semi_domain = (line.rsplit('|',1)[0]).split('.',1)[1]
d[ip]= semi_domains
if ip not in d:
key = ip
val = [semi_domain]
domains_per_ip[key]= val
但这不能正常工作。有人可以帮我解决这个问题吗?
【问题讨论】:
-
你为什么使用
startswith('.')
? -
你是什么意思“重复键”?字典中的键已经是唯一的。
标签:
python
loops
dictionary
unique
counting
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:计算python字典中每个唯一键的唯一值 - Python技术站