給定字符串和單詞替換字典,我試圖讓python返回所有變體字符串。例如。對於字符串「一個去市場」,並替換字典{'一':['一','二','三'],'市場':['鎮','牀']}我想返回:['去了一個城市','兩個去了城裏','三個去了城裏',一個上了牀','兩個上了牀','三個上了牀']。目前,只有當有兩個替換選項時,纔有這個功能。生成基於替換字典的變體字符串,僅用於Python中的某些單詞
我的部分工作方法使用詞典生成的單詞列表,例如,在上面的例子中,我有['一,二,三','去','去','鎮,牀']。這本:
def perm(wordlist):
a=[[]]
for i in wordlist:
if ',' in i:
wds=i.split(',')
for alis in a:
alis.append(wds[0])
for j in wds[1:]:
b=[x[:-1] for x in a]
for alis in b:
alis.append(j)
a=a+b
else:
for alis in a:
alis.append(i)
return a
爲[「一,二」,「去」,「到」,「鎮,牀」]我得到所要的結果,但任何一次有兩個以上的選項,它的失控。
你到現在爲止嘗試過什麼?你能發佈你的代碼嗎? –
另外,你想如何處理重複?如何處理「一次再去酒店一次」?在這種情況下,你想要生成3個句子還是9個? –
在這種情況下9個句子(儘管我的輸入可能不會出現。) – Smallpip