我有一个项目列表,我想返回一个最大的严重性,即输入可以是“雨|冰|风”
可能的输入可能是(按严重程度排序):晴天、多云、刮风、下雨、结冰
有了上面的输入,我想只输出冰,因为它是最严重的
我试过这样的方法:
dictionary1 = {'sunny': 0, 'cloudy': 1, 'windy': 1, 'rainy': 2, 'icy': 3}
with open(Conditions_csv, 'wb') as fw:
writer = csv.writer(fw, delimiter=',')
header = ['Date','latitude','longitude','Condition']
writer.writerow(header)
for row in cur.fetchall():
conditions = row[3].split("|")
for item in sorted(dictionary1.keys(),reverse= True):
name = dictionary1[item]
if name in conditions:
print row
print name
writer.writerow(row + name)
db.close()
我的上述输出将是:
(18/12/2017,45,-85, Rainy|Icy|Windy)
Icy
(18/12/2017,45,-85, Rainy|Icy|Windy)
Rainy
(18/12/2017,45,-85, Rainy|Icy|Windy)
Windy
(18/12/2017,47,-88, Rainy|Windy)
Rainy
(18/12/2017,47,-88, Rainy|Windy)
Windy
(18/12/2017,40,-84, Icy|Windy)
Icy
(18/12/2017,40,-84, Icy|Windy)
Windy
我只想说:
(18/12/2017,45,-85, Rainy|Icy|Windy)
Icy
(18/12/2017,47,-88, Rainy|Windy)
Rainy
(18/12/2017,40,-84, Icy|Windy)
Icy
内置的
max
函数允许您传递一个可选的key
参数,该参数满足我的要求:以下是我的答案供参考:
相关问题 更多 >
编程相关推荐