Я попытался получить домашний сайт URL-адреса. Сначала я использовал цикл for и достиг цели.
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/'
Затем я наткнулся на метод 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
на этот раз я получил
'http:/www.mysite.com/'
Это уменьшить, просто опустив в нем None? Каково объяснение результата?
да, я знаю из этой темы, что я мог бы просто использовать функция парсера urllib для этого, поэтому я надеюсь, что здесь обсуждение будет сосредоточено на уменьшении ()
reduce
ничего не пропускает. ЭлементаNone
нет. Как вы думаете, где это происходит? - person Michael J. Barber   schedule 20.02.2012reduce()
. Кроме того, было бы ошибкой не использовать для этогоurllib
. Я предлагаю закрыть этот вопрос, потому что он вводит в заблуждение. Вопрос очень и очень запутанный. - person S.Lott   schedule 20.02.2012