私はURLのホームサイトを取得しようとしました。まず、forループを使用して目標を達成しました。私が前に使用したことがなかったなぜpython reduce()はNone要素をスキップしますか?
home = ''
my_url = 'http://www.mysite.com/subdir/subdir2/index.html'
for item in my_url.split('/')[:3]:
home += item + '/'
print home
と私は
'http://www.mysite.com/'
は、それから私は(削減出くわす得ることができます)。だから私はここに、そのショットを取得コードは次のとおりです。
my_url = 'http://www.mysite.com/subdir/subdir2/index.html'
home = ''
home = reduce(lambda x,y : x + y + '/',my_url.split('/')[:3])
print home
私は
'http:/www.mysite.com/'
を得た。この時間は、それはそれでNoneをOMMITん削減です結果の説明は何でしょうか?
ええ、私はちょうどそれを行うにはurllibはのパーサ機能を使用することができthis topicから知っているので、私は議論が(削減に焦点を当てたことがここに願っています)
None要素を削除するにはfilter()を使うべきです – sherpya
@sherpyaいいえ、None要素を除外するつもりはない、reduce()関数はNone elemntをスキップして結果を 'http: /www.mysite.com/ 'にする必要があります。' http://www.mysite.com/ ' –
'reduce'は何も省略しません。 'None'要素はありません。それはどこに起こったと思いますか? –