簡體   English   中英

python 條件字典和替換

[英]python conditional dictionary and replace

我有一個條件字典,當通過 function 識別字符串時,它返回該字典的鍵。

dict是“myDict”,它將與列表“lookup”一起使用,找到其中存在的單詞,並返回該列表的字典鍵,將其添加到該名稱的末尾。

我的代碼:

  myDict = {'NESTLE':
                  ['NESFIT', 'NESCAU', 'DOIS FRADES', 'MOCA', 'KIT KAT', 'NESQUIK', 'ALPINO', 'LEITE CONDENSADO MOCA'
                  'CHAMYTO', 'NINHO', 'MOLICO', 'CHAMBINHO', 'CHANDELLE', 'BONO', 'PASSATEMPO', 'KITKAT', 'CLASSIC'],
                'all_names': ['rodis', 'Stone', 'abx']}
    
    def search(myDict, lookup):
        for key, value in myDict.items():
            for v in value:
                if lookup in v:
                    return key
    
    lookup = ['NESCAU', 'Confeito coberto de chocolate ao leite NESCAU Ball', 'NESCAU EM PO', 'Stone']
    lookup2 = [str(x).split(' ') for x in lookup]
    
    for x in range(0, len(lookup)):
        finder = search(myDict, lookup[x])
        print(finder)

NESTLE 無 無 all_names

我到了這里,但是無法使用列表末尾的字典鍵執行此 output,並且它沒有搜索其中包含的所有單詞,因此我想要這個 output:

output_lookup = ['NESCAU NESTLE', 'Confeito coberto de chocolate ao leite NESCAU Ball NESTLE', 'NESCAU EM PO NESTLE', 'Stone all_names']

我改變了你的代碼。

我添加了查找字符串的拆分。


myDict = {'NESTLE':
                  ['NESFIT', 'NESCAU', 'DOIS FRADES', 'MOCA', 'KIT KAT', 'NESQUIK', 'ALPINO', 'LEITE CONDENSADO MOCA'
                  'CHAMYTO', 'NINHO', 'MOLICO', 'CHAMBINHO', 'CHANDELLE', 'BONO', 'PASSATEMPO', 'KITKAT', 'CLASSIC'],
                'all_names': ['rodis', 'Stone', 'abx']}

def search(myDict, lookup):
        for key, value in myDict.items():
            for v in value:
#                if lookup in v:
                if v in lookup.split(' '):
                    return key

lookup = ['NESCAU', 'Confeito coberto de chocolate ao leite NESCAU Ball', 'NESCAU EM PO', 'Stone']
lookup2 = [str(x).split(' ') for x in lookup]

for x in lookup:
        finder = search(myDict, x)
        print(f"{x} {finder}")

這是我得到的 output

NESCAU NESTLE
Confeito coberto de chocolate ao leite NESCAU Ball NESTLE
NESCAU EM PO NESTLE
Stone all_names

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM