以下是一个示例代码,用于按频率百分比降序创建一个字典:
def create_dict(lst):
# 计算每个元素的频率
freq_dict = {}
total_count = len(lst)
for item in lst:
if item in freq_dict:
freq_dict[item] += 1
else:
freq_dict[item] = 1
# 按频率百分比降序排序
sorted_dict = {}
for key, value in sorted(freq_dict.items(), key=lambda x: x[1], reverse=True):
percentage = (value / total_count) * 100
sorted_dict[key] = percentage
return sorted_dict
# 示例输入
lst = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
# 创建字典
result_dict = create_dict(lst)
# 输出结果
for key, value in result_dict.items():
print(key, ':', value)
输出结果如下:
4 : 40.0
3 : 30.0
2 : 20.0
1 : 10.0
这个示例代码首先创建了一个空字典 freq_dict
,然后遍历列表 lst
,统计每个元素的频率,并将其存储在 freq_dict
中。接下来,使用 sorted
函数以频率进行降序排序,并计算频率的百分比,并将键值对存储在一个新的字典 sorted_dict
中。最后,返回 sorted_dict
。