我正在尝试比较defaultdict的defaultdict,它具有每个键的字符串列表,my_list,已经从txt文件中读取。我的字典定义为d [website] [plugin]。我想要做的是检查字典中的每个网站和插件,是否每个元素(存在于字典列表中)都存在于my_list中。如果是,我想将该元素保存在list的默认dict的另一个defaultdict中,否则我跳过该元素而不保存它。
我编写了这段代码来从文件中读取并将元素保存在字典中:
import glob
from pprint import pprint
from collections import defaultdict
import numpy as np
import matplotlib.pyplot as pls
d = defaultdict( lambda : defaultdict ( lambda : [] ) )
with open("ghosteryList.txt", "r") as f:
lista_completa_trackers = []
for line in f:
lista_completa_trackers.append(line)
for file in glob.glob('*/*_finito.txt'):
with open(file, 'r') as f:
for row in f:
if row == "\n":
continue
splitted=row.split()
site=file.split("/")[-1].split("_")[0]
plugin=file.split("/")[-2].split("_")[1]
d[site][plugin].append(splitted[0])
for sito in d:
for plugin in d[sito]:
for elem in d[sito][plugin]:
#print(elem)
if(elem in el for el in lista_completa_trackers):
print(sito, plugin, elem)
但我不知道如何考虑字典列表中的每个元素。这是对的吗? 我怎么能这样做?