<分区> 分区>
我有 5 个垂直字符串,它们是由我的分类器按概率顺序生成的。如果分类器的置信度非常高,我想保留该分类,但对于低分类器,我想在所有可能的组合顺序之间进行变化,从而创建所有可能的垂直字符串列表。
所以我的数据是这样的:
aa aa aa aa aa
ab ac aa ad ae
aa ab af ae ag
我想得到所有可能的有序组合
aa aa aa aa aa aa aa aa aa aa ...
ab ac aa ad ae ae ab ac aa ad ...
aa ab af ae ag aa ab af ae ag...
我尝试了 itertools,但似乎找不到合适的工具来执行此操作。有谁知道如何做到这一点?
这是我目前尝试过的:
import sys
import os
import itertools
from itertools import permutations
in_file = sys.argv[1]
f1 = open(in_file, 'r')
new_lines = []
for line in f1.readlines():
line = line.strip()
do stuff to replace my higher confidence matches...
new_lines.append(line)
for x in new_lines:
for a,b,c,d,e,f,g,h,i,j in permutations(x.split(), 10):
print '{} {} {} {} {} {} {} {} {} {}'.format(a.rstrip('\n'), b.rstrip('\n'), c.rstrip('\n'), d.rstrip('\n'), e.rstrip('\n'), f.rstrip('\n'), g.rstrip('\n'), h.rstrip('\n'), i.rstrip('\n'), j.rstrip('\n'))
我用 10 对它进行了测试,以确保它不会爆炸,但这似乎不像我想象的那样起作用。如果我输入 5,它只会给我之前的列表。我有办法做到这一点吗?
