我想用python比较不同文件中的两个列表。为此,我使用以下方法:
truepositives = "a.txt"
with open(truepositives) as file1list:
file1l = file1list.read().splitlines()
basepairout = "b.txt"
with open(basepairout) as templist:
templ = templist.read().splitlines()
set1=file1l
set2=templ
truepositives = []
falsepositives = []
for line2 in set2:
for line1 in set1:
if (line2.find(line1) != -1):
if line2 not in truepositives:
truepositives.append(line2)
else:
if line2 not in falsepositives:
falsepositives.append(line2)
我想把“所有在set2上但不在set1中的东西”分配给假阳性。我的'if'函数工作正常,但是'else'函数返回整个set2。你知道为什么吗?你知道吗
在循环之前保留一个布尔值“exist”,并将其设置为false。。。您的问题是,在set1中的每个迭代都使用else语句,而这些迭代不符合您的条件
应该是这样的:
用集差法怎么样? http://docs.python.org/2/library/stdtypes.html#set
相关问题 更多 >
编程相关推荐