我有一个包含值列表的字典.我想从值列表中取最大值



假设我有一个字典

y ={"town1":"温和","低","town2":"高","town3":[‘温和’,‘严重’]}

我希望字典只有一个值,而不是一个列表,并采用最高的风险值。1号镇的最高风险为中等,2号镇的最高风险为高,3号镇的最高风险为严重风险排序为("严重"、"高"、"中等"、"低")

所期望的输出:y ={"town1":"温和","town2":"高","town3":['严重']}

我的代码如下:

x = []
for k,v in y.items():
x.append((k,v))
print(x)
for key, value in y.items():
for i in range(len(x)):
if 'severe' in x[i][1]:
y[key] = 'severe'
elif 'high' in x[i][1]:
y[key] = ['high']
elif 'moderate' in x[i][1]:
y[key] = ['moderate']
elif 'low' in x[i][1]:
y[key] = ['low']
print(y)

您不必显式地迭代严重性列表,in操作符正在为您完成此操作:

x = {'town1': ['moderate', 'low'], 'town2': ['high'], 'town3': ['moderate', 'severe']}
print(x)
y = {}
for key, values in x.items():
if 'severe' in values:
y[key] = ['severe']
elif 'high' in values:
y[key] = ['high']
elif 'moderate' in values:
y[key] = ['moderate']
elif 'low' in values:
y[key] = ['low']
print(y)

最新更新