首页 > 解决方案 > 将我的计数器元组结果(来自计数器)转换为字符串

问题描述

我正在尝试以与默认方式不同的方式存储我的 Counter 结果(最好使用 spacy 库)。对于这种情况,我需要结果为 Word、value + 下一个由新行分隔。现在我将结果作为元组('word':value)。

我尝试使用 str() 和 join 函数将计数器的结果存储到字符串中。但是,我最终将所有单词字符都放在换行符上。

freqtab = Counter(nout)

freqtab2 = freqtab.most_common()

其中nout 是带有单词的列表。所以在这里我得到了从最常见到最不常见的正确结果(这是我想要的,但格式不正确)

('Elephant', 12), ('Orca', 9), ('Seal', 2)因此,我想要的不是得到,而是:

Elephant,12
Orca,9
Seal,2

标签: stringcountertext-miningspacy

解决方案


要从连接在单个多行字符串中的元组列表中获取所有数据,您可以使用

freqtab2 = [('Elephant', 12), ('Orca', 9), ('Seal', 2)]
result = "\n".join(["{},{}".format(wrd, freq) for wrd,freq in freqtab2])
print(result)

请参阅Python 演示

列表推导将元组列表["{},{}".format(wrd, freq) for wrd,freq in freqtab2]重新格式化freqtab2为字符串列表,并"\n".join(...)从中生成单个多行字符串。


推荐阅读