我正在創建一個模塊,用於分析給定文本中的令牌和分隔符模式的頻率,並將其分解爲多個句子。如何在python中執行這種排序操作
我有一個類「SequencePattern」,這在一組標記化的句子,其中每個SequencePattern具有列表屬性「出現」由...組成的元組(n_sentence, n_element
)標識一個元件(令牌或分隔符),其中該特定元件實際發生。類SequencePattern具有類級字段seq_patterns(a set
),其中存儲了所有單獨的SequencePattern實例。
在處理的這個階段,我只有一個元素的SequencePatterns,並且已經清除了所有出現的SequencePatterns。但是SequencePattern是tuple
的子類,現在想法是找到「兩個元素」SequencePatterns。
我需要做的下一件事是要經過所有這仍然除草後一個元素SequencePatterns,查明你在同一個句子中找出兩個(或多個)相鄰出現斑點,即其中n_sentence
是相同的, n_element
相差1
所以我需要繼續沿着這條做一些事情:
occurrences_by_text_order = sorted(SequencePattern.seq_patterns.occurrences)
...但當然,這並不工作:我得到
AttributeError: 'set' object has no attribute 'occurences'
不知何故,我需要對seq_patterns中的所有SequencePatterns進行迭代,然後對每個迭代都進行所有事件的「嵌套」迭代......並且我需要將這些傳遞的元組(n_sentence, n_element
)提交給sorted
功能。
我不是一個有經驗的Pythonista,但我懷疑這是一個發電機(?)的工作。誰能幫忙?
'排序([在SequencePattern.seq_patterns X對於x如果len(x)== 1])'然後尋找鄰接。如果我理解你,我認爲這是下一步。 – mpez0
這不能解決我問的問題,這是關於迭代迭代器的問題。 –