我有一个字典列表,看起来像这样:
serv=[{'scheme': 'urn:x-esri:specification:ServiceType:DAP',
'url': 'http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/air.mon.anom.nobs.nc'},
{'scheme': 'urn:x-esri:specification:ServiceType:WMS',
'url': 'http://www.esrl.noaa.gov/psd/thredds/wms/Datasets/air.mon.anom.nobs.nc?service=WMS&version=1.3.0&request=GetCapabilities'},
{'scheme': 'urn:x-esri:specification:ServiceType:WCS',
'url': 'http://ferret.pmel.noaa.gov/geoide/wcs/Datasets/air.mon.anom.nobs.nc?service=WCS&version=1.0.0&request=GetCapabilities'}]
我希望找到与
ServiceType:WMS
相对应的URL,这意味着在此列表中查找scheme
键具有值urn:x-esri:specification:ServiceType:WMS
的字典中url
键的值。所以我有一个可以工作的代码:
for d in serv:
if d['scheme']=='urn:x-esri:specification:ServiceType:WMS':
url=d['url']
print url
它产生
http://www.esrl.noaa.gov/psd/thredds/wms/Datasets/air.mon.anom.nobs.nc?service=WMS&version=1.3.0&request=GetCapabilities
但我刚刚看了Raymond Hettinger的PyCon演讲,他在结尾处说如果你可以用一句话表达它,就应该用一行Python来表达。
那么是否有更美观、惯用的方法来实现相同的结果,也许只需要一行Python?
谢谢, Rich