第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

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

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

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

1 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊

這是將字典轉(zhuǎn)換為有效字典后的解決方案:


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)

結(jié)果是:


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


查看完整回答
反對 回復(fù) 2023-03-01
  • 1 回答
  • 0 關(guān)注
  • 103 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號