python – 是否可以在列表推导中创建和引用对象?

python – 是否可以在列表推导中创建和引用对象?,第1张

概述我有一个网址列表,我想要净位置. 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 u 我有一个网址列表,我想要净位置.

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 – 是否可以在列表推导中创建和引用对象?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1194283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存