次のような辞書のリストがあります。
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'}]
に対応する URL を検索したいのですが、これは、キーが値を持つこのリストから辞書ServiceType:WMS
でキーの値を見つけることを意味します。url
scheme
urn:x-esri:specification:ServiceType:WMS
だから私はこれがうまくいく:
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 の 1 行で表現する必要があると述べています。
おそらく1行のPythonで同じ結果を達成する、より美しく慣用的な方法はありますか?
ありがとう、リッチ