我将file1列为:

-
er
we
ds,e3,kj
uy,mn
po
qw
pi
pi,f


File2列为:

-
df
we
wr
f,pi
ds,kj,e3
rt,uy
qw
po


我尝试了以下代码,但无法正常工作:-

my_set1 = set(x.strip() for x in (open('file1').readlines()))
print(my_set1)
my_set2 = set(x.strip() for x in (open('file2').readlines()))
print(my_set2)

my_list=list((set(my_set1).intersection(set(my_set2))))
print(my_list,"\n")

with open('common_signals','w') as file3:
    for signal in my_list:
        file3.write("%s\n" %signal)


我在commong信号内部得到的输出是:- po ,we ,qw

它具有被忽略的ds , kje3 ,uy,pi,f

有人可以帮忙吗?

最佳答案

这是因为在字符串“ ds,e3,kj”和“ ds,kj,e3”的含义上不相等。
如果您需要对此类模式进行压缩,请尝试将其排序为最高级,然后进行比较。

if ',' in line:
    line = ','.join(sorted(line.split(',')))

关于python - 如何从python中的两个文件中找到通用模式集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55099821/

10-10 19:25