我想知道是否有更有效的方法来在Python中做到这一点。 I found a good solution in Ruby但它看起来相当具体。如何判断数组中的任何元素是给定字符串的子字符串?
基本上,我从API获取天气状况数据,并希望将他们许多细微的条件标准化为7我可以很容易地处理它们。
def standardize_weather_conditions(s):
clear_chars = ['clear', 'sunny']
clouds_chars = ['cloudy', 'overcast', 'fog']
storm_chars = ['thunder']
freezing_chars = ['ice', 'sleet', 'freezing rain', 'freezing drizzle']
snow_chars = ['snow', 'blizzard']
rain_chars = ['rain', 'drizzle', 'mist']
if any_in_string(s, clear_chars):
conditions = 'clear'
elif any_in_string(s, clouds_chars):
conditions = 'clouds'
elif any_in_string(s, storm_chars):
conditions = 'storm'
elif any_in_string(s, freezing_chars):
conditions = 'freezing'
elif any_in_string(s, snow_chars):
conditions = 'snow'
elif any_in_string(s, wet_chars):
conditions = 'wet'
else:
conditions = 'other'
return conditions
def any_in_string(s, array):
for e in array:
if e in s:
return True
return False
我真的很喜欢你的第二个建议,我可能能够适应在某个地方。另外,我实际上只是想出了一个类似的解决方案给你(我只是将'any_in_string'代码放到一个循环的文字中,而不是对一个函数的调用)。 – delwin