我知道有很多类似的问题,但似乎都不管用。你知道吗
让我开始:
我有两个文件,一个叫做client-gen.txt
,另一个叫做server-gen.txt
。这些文件包含随机生成的SHA1字符串,例如:
902ba3cda1883801594b6e1b452790cc53948fda
356a192b7913b04c54574d18c28d46e6395428ab
c1dfd96eea8cc2b62785275bca38ac261256e278
1b6453892473a467d07372d45eb05abc2031647a
77de68daecd823babbb58edb1c8e14d7106e83bb
现在,问题是,如果我有另一个文件,看起来像这样:
77de68daecd823babbb58edb1c8e14d7106e83bb
da4b9237bacccdf19c0760cab7aec4a8359010b0
356a192b7913b04c54574d18c28d46e6395428ab
1b6453892473a467d07372d45eb05abc2031647a
356a192b7913b04c54574d18c28d46e6395428ab
ac3478d69a3c81fa62e60f5c3696165a4e5e6ac4
da4b9237bacccdf19c0760cab7aec4a8359010b0
356a192b7913b04c54574d18c28d46e6395428ab
1b6453892473a467d07372d45eb05abc2031647a
da4b9237bacccdf19c0760cab7aec4a8359010b0
在这种情况下,如何比较这些文件并打印:
77de68daecd823babbb58edb1c8e14d7106e83bb
1b6453892473a467d07372d45eb05abc2031647a
1b6453892473a467d07372d45eb05abc2031647a
顺序并不重要。你知道吗
仅供参考,我已经尝试过使用set()
和其他方法。它们似乎都不起作用。你知道吗
如果你能帮忙,我真的很感激
我假设您预期的输出是不正确的,因为您没有包括
'356a192b7913b04c54574d18c28d46e6395428ab'
,它同时出现在两个文件中,并且在第二个文件中出现两次,如果您希望在两个文件中出现的元素使用集合交点地址:按字母顺序对两个文件进行排序。然后在一个类似于合并的过程中,您将找到所有重复项。你知道吗
可以使用Counter,然后只打印值为2的项。由于打开的文件是可iterable的(即使用for循环时可以遍历行),因此可以直接对打开的文件调用
Counter
:此方法将包括尾随的换行符。很可能这不是您想要的;如果是这样,则必须显式迭代文件并显式删除空白:
相关问题 更多 >
编程相关推荐