每当我收到一个新的url,我都会尝试将它和当前时间一起添加到我的字典中。
但是,当我使用update()
方法时,它会用我添加的新值替换原始值,因此字典中现在唯一的内容就是新值(而不是旧值)
以下是我的代码的简短版本:
if domain not in lst:
lst.append(domain)
domaindict = {}
listofdomains.append(domaindict)
domaindict.update({domain:datetime.now().strftime('%m/%d/%Y %H:%M:%S')})
if domain in lst:
domindex = lst.index(domain)
listofdomains[domindex].update({domain:datetime.now().strftime('%m/%d/%Y %H:%M:%S')})
lst
是迄今为止域名的列表,而listofdomains
是包含独立域的所有词典的列表(每个词典都有域名和时间)
当我尝试打印域列表时:
print(listofdomains)
它只打印字典中新添加的域和URL。我还尝试使用其他方法更新词典,如this question的答案中所述,但我的词典仍然无法正常运行
为什么原始键/值对消失?
最简单的结构可能是一系列列表:
您可以简单地使用defaultdict构建它,在需要时动态创建空列表。您的代码是:
您的整个代码变得非常简单:
相关问题 更多 >
编程相关推荐