此答案假定您的输入在逻辑上是一袋值,即对值进行计数,但它们的位置无关紧要。它还假设其他文件中的数量大于发起者文件中的数量是可以的,但反之则不然。最后,它假设只允许启动器文件中的值出现在其他文件中。
①读取两个文件,②将每个文件的内容(可能是空格?)拆分成一个包(我们用这个),③检查启动器collections.Counter
文件是否有未满足的需求,④检查另一个文件中是否有意外的值.
① 读取两个文件:
with open('initiator') as f:
contentsI = f.read()
with open('other') as f:
contentsO = f.read()
② 将内容拆分为集合,删除过程中所有不需要的东西:
from collections import Counter
tokensI = Counter(value for value in contentsI.split()
if value not in [ 'unwanted1', 'unwanted2' ])
tokensO = Counter(value for value in contentsO.split()
if value not in [ 'unwanted1', 'unwanted2' ])
③ & ④ 比较袋子:
return not (tokensI - tokensO) and not (set(tokensO) - set(tokensI))