簡體   English   中英

如何在Python 3中的defaultdict中打印所有索引的列表?

[英]How do I print the lists of all the indices within defaultdict in Python 3?

我定義了一個defaultdict,如下所示:

results=defaultdict(list)

在讀取字典文件中每一行的for循環中,我生成一個tempWordObject,其中包含原始單詞(originalWord),其字母版本(azWord)和單詞的長度(wLength)。 然后,我根據對象的長度將其附加到列表中:

results[tempWordObject.wLength].append(tempWordObject)

因此,我最后要提到的是一個默認結果,稱為result,其中包含基於單詞長度的單詞列表。 因此,例如,結果[4]應在列表中包含所有4個字母詞。 如果我誤會發生的情況,請糾正我。

我試圖做的事情(出於測試目的並在以后生成結果)是在閱讀完文件后打印出defaultdict中所有的列表。 因此,它將在第一行中打印單詞對象defaultdict [1]的列表,在第二行中打印defaultdict [2]的單詞對象的列表,等等。我還希望在以下情況下僅打印特定參數:我做這個

如果有幫助,循環完成后,我將擁有最長字的長度(maxL)。

我認為我無法正常工作的部分原因是由於我誤解了defaultdict中的存儲方式和/或存儲方式。 一個解釋將不勝感激。

只需按排序順序遍歷鍵即可:

for length in sorted(results):
    print length, [t.originalWord for t in results[length]]

defaultdict仍然是字典; sorted(results)返回該字典中所有已排序鍵的列表。 然后,可以使用每個鍵再次使用results[length]訪問存儲的特殊對象列表。 列表理解只是從那些對象中拉出每個originalWord屬性。

暫無
暫無

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

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