打印输入的字母图中的字母和字母词本身的最大出现次数

问题描述 投票:0回答:1

check out my python code here

`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

预期的输出3Absa sbaa basa

python-3.x anagram
1个回答
0
投票

您可以创建单词v / s字谜列表的字典

然后打印出字谜列表中包含最大元素数的单词

from collections import defaultdict
words = ['ab','absa','sbaa','basa','ba']
wordToAnagram= defaultdict(list) 
# word vs list anagram 
# loop below will create {aabs:  ['absa', 'sbaa', 'basa']}
for word in words:
    s = "".join(sorted(word))
    wordToAnagram[s].append(word)


word, anagrams = max(wordToAnagram.items(), key=lambda x: len(x[1]))
print(" ".join(anagrams))
© www.soinside.com 2019 - 2024. All rights reserved.