Jython 搜索文本中重复的单词

Jython 搜索文本中重复的单词,jython,Jython,我没有找到任何直接的答案 我需要在文本/字符串中找到重复次数最多的单词。 例如。 具有以下值的字符串: 000587\local_users 000587\local_users 4444\et-4444 et\pmostowiak et\pmostowiak et\pmostowiak 然后需要对结果进行et\pmostowiak 我应该如何做到这一点 编辑: 我使用的是jython的旧版本,因此无法使用带有计数器功能的集合库 这将打印找到多个值的所有值: d = {} for x in

我没有找到任何直接的答案

我需要在文本/字符串中找到重复次数最多的单词。 例如。 具有以下值的字符串:

000587\local_users
000587\local_users
4444\et-4444
et\pmostowiak
et\pmostowiak
et\pmostowiak
然后需要对结果进行et\pmostowiak

我应该如何做到这一点

编辑: 我使用的是jython的旧版本,因此无法使用带有计数器功能的集合库

这将打印找到多个值的所有值:

d = {}

for x in users: 
  d[x] = x in d

_result = [x for x in d if d[x]] # [1]

如果我能进一步重用它?

一旦你有了一个合适的单词容器,
集合
就能满足你的需要

>>> import collections
>>> words = ['000587\local_users', '000587\local_users', '4444\et-4444', 'et\pmostowiak', 'et\pmostowiak', 'et\pmostowiak']
>>> print collections.Counter(words).most_common(1)
[('et\\pmostowiak', 3)]
这就引出了如何拆分字符串的问题。 这项工作:

>>> str = """000587\local_users
... 000587\local_users
... 4444\et-4444
... et\pmostowiak
... et\pmostowiak
... et\pmostowiak"""
>>> str.split('\n')
['000587\\local_users', '000587\\local_users', '4444\\et-4444', 'et\\pmostowiak', 'et\\pmostowiak', 'et\\pmostowiak']
>>> words = str.split('\n')

一个词有什么区别?基于行?在这种情况下是换行符我认为这是重复的…如果
s
是字符串,
import collections
print(collections.Counter(s.split('\n'))。最常见的(1)[0][0])
这几乎是重复的-除非问题是拆分字符串,这将是一个重复-但这是两个问题真的很抱歉伙计们我的坏:我有点忘了提到我正在处理一个旧版本的jython,因此集合库不受支持。。对不起this@user2023042在这种情况下,您可能应该更新实际的问题和标记以反映这一点。@user2023042一旦您有了单词,您就可以知道如何计算频率;根据词数编制的词典将使用词典计算频率: