python-3.x - 我正在尝试将每个数字的频率计算为列表中的单个数字
问题描述
我试图将每个数字的频率计算为列表中的单个数字。例如 1:5 次,2:4 次,但我没有得到个人计数。这是我的代码
def CountFrequency(my_list):
freq = {}
for item in my_list:
if (item in freq):
freq[item] += 1
else:
freq[item] = 1
for key, value in freq.items():
print ("% d : % d"%(key, value))
my_list =[1, 21, 25, 53, 3, 14, 1, 12, 52, 33]
print(CountFrequency(my_list))
解决方案
直觉
将列表中的项目转换为字符串,然后检查该字符串是否在字典中。如果已经存在,则增加计数。
def CountFrequency(my_list):
freq = {}
for item in my_list:
for i in str(item):
if (i in freq):
freq[i] += 1
else:
freq[i] = 1
for key, value in freq.items():
print ("% d : % d"%(int(key), int(value)))
my_list =[1, 21, 25, 53, 3, 14, 1, 12, 52, 33]
CountFrequency(my_list)
#output
1 : 5
2 : 4
5 : 3
3 : 4
4 : 1
列出
def CountFrequency(my_list):
freq = {}
list_1 = []
for item in my_list:
for i in str(item):
if (i in freq):
freq[i] += 1
else:
freq[i] = 1
for key, value in freq.items():
list_1.append((int(key), int(value)))
return list_1
my_list =[1, 21, 25, 53, 3, 14, 1, 12, 52, 33]
CountFrequency(my_list)
# output
[(1, 5), (2, 4), (5, 3), (3, 4), (4, 1)]
我所做的只是重复以避免破坏您的结构。
freq.items()
直接将字典转换为列表的工作
推荐阅读
- python - 哪个更有效:使用对象作为类属性?或者在需要时重新初始化?
- android - 如何在来自活动的片段中显示数据
- sas - 有没有办法立即解析在同一数据步骤中的数据步骤中创建的宏变量?
- reactjs - 如何将父级的道具存储在子组件中?
- ios - 近距离放大时折线消失
- php - 如何在 PHP 中解码包含 json 字符串作为值的 json 字符串?
- windows - 是否有包含最新 Windows 更新日期的变量
- swift - Bundle.main.loadNibNamed 中的内存泄漏
- python - Python中真正的关键字是什么?
- python - 旧列表中新列表的索引定位