Python 3.6:如何将文本文件分为两组并检查交叉点

Python 3.6:如何将文本文件分为两组并检查交叉点,python,python-3.x,Python,Python 3.x,我现在开始使用Python3.6,并使用IDLE开发区。我一直在网上寻找以下问题的解决方案: 我有两个文本文件。第一个是我的输入列表,第二个是我的黑名单。我想检查输入列表中的一行是否也在黑名单中。最终目标是创建一个包含所有交叉点的新列表 我目前正在做以下工作: input_list=set(line.strip() for line in open("input_list.txt",'r')) black_list=set(line.strip() for line in open("black

我现在开始使用Python3.6,并使用IDLE开发区。我一直在网上寻找以下问题的解决方案:

我有两个文本文件。第一个是我的输入列表,第二个是我的黑名单。我想检查输入列表中的一行是否也在黑名单中。最终目标是创建一个包含所有交叉点的新列表

我目前正在做以下工作:

input_list=set(line.strip() for line in open("input_list.txt",'r'))
black_list=set(line.strip() for line in open("black_list.txt",'r'))

print("Input List")
print(input_list)
print("Black List")
print(black_list)
print("Intersection")
print(input_list.intersection(black_list))
我将解释我的推理,希望人们能用他们的答案纠正我的逻辑,而不仅仅是提供解决方案

input_list=set(line.strip() for line in open("input_list.txt",'r'))
black_list=set(line.strip() for line in open("black_list.txt",'r'))
通过以上两行代码,我打开了两套。每一行都会删除所有\n值,只留下每行中的文本

print("Input List")
print(input_list)
print("Black List")
print(black_list)
本节仅用于检查我的文本文件是否已打开,以及所有值是否存在于集合中。为了清晰起见,每个部分上方都有一个标题

print("Intersection")
print(input_list.intersection(black_list))
在这段代码中,我从一个标题开始。然后,我尝试打印找到的任何交点值。目前,我在shell中得到的结果如下所示:

Input List
{'value1', 'value2', 'value3'}
Black List
{'valueA', 'valueB', 'valueC'}
Intersection
set()
我从以下链接获得了有关十字路口的信息:

我从这篇文章中将文件分为几组:

我一直在阅读黑狗I-Tech系列的Python手册第33卷。我用它来学习Python的基础知识。虽然它涵盖了基本的开放、阅读和写作,但没有涵盖更复杂的功能


我设计这个主要是为了创建一个输入域的工具,并检查坏域的黑名单。这是用于搜索引擎优化的目的,并帮助我迅速产生一个否认文件。除了对我的工作实用之外,这也是一个帮助我探索、学习和发展Python理解的个人项目。

事实上,您的代码似乎实现了您的目标。集合之间的交集

{'value1', 'value2', 'value3'}


的确是空集。Python用
set()
表示一个空集。如果您希望
{}
表示空集,那么这实际上是一个空字典。

我应该更清楚,value1、value2、value3、valueA、valueB、valueC只是示例值。我用来测试的列表要长得多,在这里发布是不合适的

回想起来,我意识到我犯了一个巨大的错误,没有仔细检查两个表中是否存在任何重复的值

在人们说代码是正确的之后,我现在意识到我的问题是我自己的愚蠢,因为我没有仔细检查是否存在任何重复的值


现在问题解决了,我是个白痴。

我不知道你的问题是什么。
{'value1'、'value2'、'value3'}
{'valueA'、'valueB'、'valueC'}
之间没有交集,您的代码正确地报告了这些交集。看起来您了解了发生的情况。你有什么特别的问题吗?输入列表和黑名单的交集为空,因为两者中没有重叠的值。在我看来,您已经有了一个有效的解决方案:)有问题吗?
{'valueA', 'valueB', 'valueC'}