加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 12:11:06 所属栏目:Python 来源:网络整理
导读:我有一个网址列表,我想要净位置. 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(
我有一个网址列表,我想要净位置.

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事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读