gpt4 book ai didi

python - 根据列表查找文本以在 python 中找到最大值

转载 作者:行者123 更新时间:2023-11-28 21:38:44 24 4
gpt4 key购买 nike

我有一个项目列表,我想返回最严重的项目,即输入可以是“Rainy|Icy|Windy”

可能的输入列表可能是(按严重程度排序):晴天、多云、多风、多雨、结冰。

通过上述输入,我只想输出 Icy,因为它是最严重的。

我试过类似的东西:

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 参数来完成我认为您所要求的:

>>> severities = {'sunny': 0, 'cloudy': 1, 'windy': 1, 'rainy': 2, 'icy': 3}
>>> max(['sunny', 'cloudy', 'windy', 'rainy', 'icy'], key=lambda s: severities[s])
'icy'

关于python - 根据列表查找文本以在 python 中找到最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47870797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com