我很難試圖對一個python列表進行編碼,我已經用一個文本文件爲了計算它裏面的特定單詞而使用了re模塊。如何編碼一個python列表
這是代碼:輸出
# encoding text file
with codecs.open('projectsinline.txt', 'r', encoding="utf-8") as f:
for line in f:
# Using re module to extract specific words
unicode_pattern = re.compile(r'\b\w{4,20}\b', re.UNICODE)
result = unicode_pattern.findall(line)
word_counts = Counter(result) # It creates a dictionary key and wordCount
Allwords = []
for clave in word_counts:
if word_counts[clave] >= 10: # We look for the most repeated words
word = clave
Allwords.append(word)
print Allwords
部分看起來是這樣的:
[...u'recursos', u'Partidos', u'Constituci\xf3n', u'veh\xedculos', u'investigaci\xf3n', u'Pol\xedticos']
如果我print
變量word
輸出看起來應該是。但是,當我使用append
時,所有的單詞再次中斷,如前例。
我用這個例子:
[x.encode("utf-8") for x in Allwords]
輸出看起來完全像以前一樣。
我也用這個例子:
Allwords.append(str(word.encode("utf-8")))
的輸出變化,但話不看,因爲他們應該是:
[...'recursos', 'Partidos', 'Constituci\xc3\xb3n', 'veh\xc3\xadculos', 'investigaci\xc3\xb3n', 'Pol\xc3\xadticos']
有些答案已經給這個例子:
print('[' + ', '.join(Allwords) + ']')
輸出如下:
[...recursos, Partidos, Constitución, vehÃculos, investigación, PolÃticos]
說實話,我不想打印清單,只是對其進行編碼,以便識別所有項目(單詞)。
我正在尋找這樣的事情:
[...'recursos', 'Partidos', 'Constitución', 'vehículos', 'investigación', 'Políticos']
任何解決問題的建議表示讚賞
感謝,
單詞不破;他們只是以原始格式顯示。 'list'使用'__repr __()'來獲取其元素的字符串值。 – zondo
有沒有解決方案來顯示列表中的重音單詞? – estebanpdl
的排序。你可以做'print(「[」+「,」.join(Allwords)+「]」)' – zondo