我试图获得一个网址的主页.首先,我使用for循环并实现目标.
home = ''
my_url = 'http://www.mysite.com/subdir/subdir2/index.html'
for item in my_url.split('/')[:3]:
home += item + '/'
print home
Run Code Online (Sandbox Code Playgroud)
而且我能得到
'http://www.mysite.com/'
Run Code Online (Sandbox Code Playgroud)
然后我遇到了之前从未使用过的reduce().所以我试了一下,这是代码:
my_url = 'http://www.mysite.com/subdir/subdir2/index.html'
home = ''
home = reduce(lambda x,y : x + y + '/',my_url.split('/')[:3])
print home
Run Code Online (Sandbox Code Playgroud)
这次我得到了
'http:/www.mysite.com/'
Run Code Online (Sandbox Code Playgroud)
是否减少只是忽略其中的无?对结果的解释是什么?
是的,我从这个主题知道我可以使用urllib的解析器函数来做到这一点,所以我希望这里的讨论集中在reduce()