亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

基于預定義的字符串和字典生成不同的字符串組合

基于預定義的字符串和字典生成不同的字符串組合

一只名叫tom的貓 2023-03-01 16:46:54
我正在嘗試編寫函數,它將根據預定義的字典為我提供給定字符串的所有可能組合。假設示例:dict = {'a':'á', 'a':'?', 'y':'y'}string = "antony"word_combination(string, dict) #desired function預期結果應該是:["antony", "ántony", "?ntony", "ántony", "?ntony", "antony"]即我們創建了定義字符串的所有可能組合,并根據定義的字典進行替換。請問有什么建議/技巧嗎?
查看完整描述

1 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

這是將字典轉換為有效字典后的解決方案:


import itertools


d = {'a':['á','?'], 'y':['y']}

string = "Anthony"


# if since each char can be replaced with itself, add it to the list of 

# potential replacements. 

for k in d.keys():

    if k not in d[k]:

        d[k].append(k)


res = []

for comb in [zip(d.keys(), c) for c in itertools.product(*d.values())]:

    s = string

    for replacements in comb:

        s = s.replace(*replacements)

    res.append(s)

結果是:


['ánthony', 'ánthony', '?nthony', '?nthony', 'anthony', 'anthony']


查看完整回答
反對 回復 2023-03-01
  • 1 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號