如何用字典中的值替换列表项中的字符作为键

我正在尝试做这样的事情:


我的输入:


predefined_list=['gross pay']

predefined_dict={'a':'o','o':'a','g':'c','c':'g'}

想要的


output: ['gross pay', 'gross poy', 'grass pay', 'crass pay', cross pay, crass poy] 

以及其他几种组合。


我试过了:


predefined_list=['gross pay']

predefined_dict={'a':'o','o':'a','g':'c','c':'g'}


i=0;

for key,value in predefined_dict.items():

    final=predefined_list[i].replace(key,value)

    i+=1

    if final not in predefined_list:

        predefined_list.append(final)

print(predefined_list)


回首忆惘然
浏览 149回答 2
2回答

潇湘沐

试试这个方法for key, value in predefined_dict.items():        for  word in predefined_list:            for n in range(word.count(key)):                final = word.replace(key,value,n+1)                if final not in predefined_list:                    predefined_list.append(final)输出:>>> predefined_list['gross pay', 'gross poy', 'grass pay', 'grass poy', 'cross pay', 'cross poy', 'crass pay', 'crass poy']

翻阅古今

只需通过遍历字典的键和值来替换字符串modified_list = [predefined_list[0].replace(k,v) for k,v in predefined_dict.items()]输出['gross poy', 'grass pay', 'cross pay', 'gross pay']相似地predefined_list = ['pay gross', 'gross pay']modified_dict = {list_k: [list_k.replace(k,v) for k,v in predefined_dict.items()]                 for list_k in predefined_list}输出{'gross pay': ['gross poy', 'grass pay', 'cross pay', 'gross pay'], 'pay gross': ['poy gross', 'pay grass', 'pay cross', 'pay gross']}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python