【发布时间】:2021-03-20 10:32:11
【问题描述】:
我需要解决一个练习(对于初学者!)并获得给定文本中所有出现字符的频率。我的问题是我被我试图编写的函数所困扰,因为我得到了一个列表而不是字典。我知道问题可能是在使用“[]”时发现的,但我还没有找到更好的解决方案来获得至少一个结果。
这是我正在努力解决的问题:
def character_frequency(text):
"""
Returns the frequences of all occuring characters in the given text
:param text: A text
:return: Dict in the form {"<character>": frequency, "<character>": frequency, ...}
"""
frequency = {} # empty dict
for line in text:
for character in line.lower():
if character in frequency:
frequency[character] += 1
else:
frequency[character] = 1
print(f"character{str(frequency)}")
return frequency
print()
print("excerise")
frequency = character_frequency(growing_plants)
for c, n in frequency.items():
print(f"Character: {c}: {n}")
我应该如何更改我的函数以获得正确的字典结果?
【问题讨论】:
-
通过修复缩进?
标签: python list dictionary frequency items