我将文件1列为:
-
er
we
ds,e3,kj
uy,mn
po
qw
pi
pi,f
文件2列为:
-
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)
我在公共信号中得到的输出是:- po ,we ,qw
它忽略了ds , kj
和e3 ,uy,pi,f
有人能帮忙吗
您需要将行拆分为子字符串。('ds,kj,e3'为例)
尝试使用“get\u set\u of \u words”方法
该方法返回一个可用于交叉点的集
这是因为在字符串的意义上,“ds,e3,kj”和“ds,kj,e3”是不相等的。 如果你需要比较这种类型的模式,把它们当作弦来对待,试着把它们按顺序排列,然后再比较
稍加修改的代码版本将产生所需的结果:
您需要拆分每个列表元素,然后使用
sum
可以flatten列表结果:
相关问题 更多 >
编程相关推荐