urls = ["http://server1:53000/cgi-bin/mapserv?map=../maps/Weather.wms.map","http://server2:53000/cgi-bin/mapserv?map=../maps/Weather.wms.map"]
我通常会写这样的东西:
servers = []for url in urls: o = urlparse(url) servers.append(o.netloc)
然后我立刻想到,“我应该把它理解为”并继续写这个(当然这不起作用):
servers = [o.netloc() for urlparse(url) as o in urls]
python有办法做这种复杂的理解吗? (也许在3.x?)
在更具学术性的层面上,这种复杂的理解能否与“pythonic”相距甚远?这对我来说似乎相对直观,但我之前完全偏离了这些事情.
解决方法 无需分配中间名称,只需直接访问urlparse()返回值的.netloc属性:servers = [urlparse(url).netloc for url in urls]
以这种方式做这是一个完美的pythonic事情.
总结以上是内存溢出为你收集整理的python – 是否可以在列表推导中创建和引用对象?全部内容,希望文章能够帮你解决python – 是否可以在列表推导中创建和引用对象?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)