我有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,它只給我我以前的同樣名單。有什麼辦法可以做到這一點?
因此,要確認您想要從一組x(5)輸入中選擇n(10)個對象的每個可能的唯一序列? – leumas95
您可以使用'itertools.product'描述[這裏](https://stackoverflow.com/questions/23058028/how-to-get-all-mappings-between-two-lists?rq=1) – Gleland
@ leumas95 。我只是把10停下來。我真的想要每個5元素列表的所有可能的命令。 – badner