代码11

sim的排列是0和1交叉,但不是标准的一个0一个1的形式。任务就是将a,b,sim按照标准的形式排列,并且需注意无法确定0,1的个数是1:1的(实际上1要多一些)

代码:

f0 = open('/home/xbwang/Desktop/a','r')
f1 = open('/home/xbwang/Desktop/b','r')
f2 = open('/home/xbwang/Desktop/c','r')
pos =[]    这种用列表去存储的思想,列表变量必须先这样声明
neg =[]
a = f0.readlines()
b = f1.readlines()
c = f2.readlines()
length = len(a)
for i in range(length):
    if(c[i] == '1
'):
        pos.append(a[i]+'==='+b[i]+'==='+c[i])
    else:
        neg.append(a[i]+'==='+b[i]+'==='+c[i])
lenp = len(pos)
lenn = len(neg)
if(lenp>=lenn):
    length1=lenn
else:
    length1=lenp
f3 = open('/home/xbwang/Desktop/a.toks','a')
f4 = open('/home/xbwang/Desktop/b.toks','a')
f5 = open('/home/xbwang/Desktop/c.toks','a')
for j in range(length1):
    line1 = pos[j].split('===')
    f3.write(line1[0])
    f4.write(line1[1])
    f5.write(line1[2])
    line2 = neg[j].split('===')
    f3.write(line2[0])
    f4.write(line2[1])
    f5.write(line2[2])
if(lenp>=lenn):
    for k in range(length1,lenp):
        line3 = pos[k].split('===')
        f3.write(line3[0])
        f4.write(line3[1])
        f5.write(line3[2])
else:
    for l in range(length1,lenn):
        line3 = neg[k].split('===')
        f3.write(line3[0])
        f4.write(line3[1])
        f5.write(line3[2])
原文地址:https://www.cnblogs.com/ymjyqsx/p/6401963.html