a = ['ab', 'absa', 'sbaa', 'basa', 'ba']
res = []
s = 0
for i in range(len(a)):
b=a[i]
c = ''.join(sorted(b))
res.append(c)
res.sort(reverse=False)
wordfreq = [res.count(p) for p in res]
d = dict(zip(res, wordfreq))
all_values = d.values() #all_values is a list
max_value = max(all_values)
print(max_value)
max_key = max(d, key=d.get)
print(max_key)
在给定的问题中,用户输入各种字谜词,输出应该是该词的最大频率并打印这些字谜词。 如果你能帮我打印输入中的那些字谜,那将非常有帮助
输出:
3 aabs
预期输出:
3
absa sbaa basa
您可以创建一个单词词典v/s字谜列表
然后打印出字谜列表中包含最多元素的单词
输出:
详细信息
在反复阅读单词之后
wordToAnagram(dictionary)
看起来像这样items()返回字典键值的元组对
在哪里,
键:是我们的排序字符串
"ab"
还是"aabs"
value:是字谜的列表,例如对于key=“ab”,value等于
["ab", "ba"]
max(wordToAnagram.items(), key=lambda x: len(x[1]))
通过比较字谜列表的长度(
len(x[1]
),从wordToAnagram.items()
iterable中查找最大值您可以尝试使用
numpy
和来自statistics
模块的mode
如果您有多个最频繁的单词,例如。
words = ['ab','absa','sbaa','basa','ba', 'ba']
然后使用
max(set(sorted_words), key=sorted_words.count)
代替mode(sorted_words)
,它取第一个最频繁的单词相关问题 更多 >
编程相关推荐