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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用函數(shù)輸出更新主字典而不使用字典更新

使用函數(shù)輸出更新主字典而不使用字典更新

侃侃爾雅 2023-08-15 17:18:27
這是我的以下代碼import os import string#(Function A) - that will take in string as input and update the master dictionary def counter(file):    word_counter = dict()    f = open(file, "rt")    words = f.read().split()    words= filter(lambda x: x.isalpha(), words)            for word in words:        if word in word_counter:            word_counter[word] += 1        else:            word_counter[word] = 1        return word_counter    # outside of Function       master = dict()filelist=[os.path.join('medline',f) for f in os.listdir('medline')]for file in filelist:    master.update(counter(file))#Function B - Passed the mass dictionary A and outputed the top 3 wordsdef sort_dict(A):    remove_duplicate = []    new_list = dict()    for key, val in A.items():        if val not in remove_duplicate:            remove_duplicate.append(val)            new_list[key] = val    new_list = sorted(new_list.items(), key = lambda word_counter: word_counter[1], reverse = True)    print (f'Top 3 words for the master dictionary:', new_list[:3])sort_dict(master)問(wèn)題是我無(wú)法使用更新功能(拼圖規(guī)則)。我需要使用從我迭代的目錄中的每個(gè)文件生成的輸出字典(函數(shù) A)來(lái)更新這些函數(shù)之外的主字典。我只允許使用這些模塊,并且無(wú)法將其轉(zhuǎn)換為列表來(lái)附加它們,然后從中創(chuàng)建字典。我真的被這個(gè)問(wèn)題困擾了,不知道如何將從函數(shù) A 獲得的輸出放入字典中,以便在不違反規(guī)則的情況下用于函數(shù) B。
查看完整描述

1 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

您尚未描述實(shí)際要求,但我懷疑您想要所有文件的字?jǐn)?shù)統(tǒng)計(jì)。您的使用update()將用包含該單詞的下一個(gè)文件中的計(jì)數(shù)來(lái)替換單詞計(jì)數(shù),并且最終每個(gè)單詞僅從其最后一個(gè)文件中進(jìn)行計(jì)數(shù)。


您需要將當(dāng)前文件中的計(jì)數(shù)添加到字典中已有的值。


for file in filelist:

    for key, val in counter(file).items():

        master[key] = master.get(key, 0) + val

您也可以在counter()函數(shù)本身中執(zhí)行此操作,而不是返回字典。


def counter(file):

    f = open(file, "rt")

    words = f.read().split()

    words= filter(lambda x: x.isalpha(), words)

        

    for word in words:

        master[word] = master.get(word, 0) + 1

if key in master:您可以使用master.get()默認(rèn)值來(lái)代替使用。


查看完整回答
反對(duì) 回復(fù) 2023-08-15
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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