所以我在做一个python项目,我需要按字典组织一个值列表。我想知道是否有比做我正在做的事情更快的方法。你知道吗
这就是我所做的,有没有更有效更简单的方法?你知道吗
def catogorize_by_mortality(hurricanes):
damage_scale = {0: 0, 1: 100, 2: 500, 3: 1000, 4: 1e4}
hurricane_mortality_dict = {0:[], 1:[], 2:[], 3:[], 4:[], 5:[]}
for hurricane in hurricanes:
current_hurricane = hurricanes[hurricane]
death_count = current_hurricane['Deaths']
if death_count > damage_scale[0] and death_count < damage_scale[1]:
hurricane_mortality_dict[0] += hurricane
elif death_count > damage_scale[1] and death_count < damage_scale[2]:
hurricane_mortality_dict[1] += hurricane
elif death_count > damage_scale[2] and death_count < damage_scale[3]:
hurricane_mortality_dict[2] += hurricane
elif death_count > damage_scale[3] and death_count < damage_scale[4]:
hurricane_mortality_dict[3] += hurricane
elif death_count >= damage_scale[4]:
hurricane_mortality_dict[4] += hurricane
else:
hurricane_mortality_dict[5] += hurricane
return hurricane_mortality_dict
# example of the hurricanes dictionary when printed
{'Cuba I': {'Name': 'Cuba I', 'Month': 'October', 'Year': 1924, 'Max Sustained Wind': 165, 'Areas Affected': ['Central America', 'Mexico', 'Cuba', 'Florida', 'The Bahamas'], 'Deaths': 90}
# this is what it returns
deaths.')
{0: ['C', 'u', 'b', 'a'
应该发生的是,它将返回飓风的名称分类,但相反,它分裂成字符他们发生了什么?你知道吗
hurricane_mortality_dict[i]
定义为一个列表,位于函数顶部附近:所以在条件语句中,当您执行
hurricane_mortality_dict[i] += hurricane
时,您试图添加一个string
和一个list
,它将字符串视为一个list
字符-因此您的输出。你知道吗您只需更改以下各项:
收件人:
对于您的示例输入,这将导致:
相关问题 更多 >
编程相关推荐