Форум сайта python.su
День добрый.
Помогите пожалуйста с такой проблемой:
Есть массив и URL
result =
url=http://yandex.ru/123.html
Нужно удалить из него элементы, в которых встречается домен из URL и в которых нет http, это можно сделать на питоне? В интернете совсем мало мануалов по питону, на PHP сделать такое легче, но нужно на питоне, помогите пожалуйста.
Пробовал просто вывести элементы нужные для сохранения таким образом:
import re
from urlparse import parse
result =
domen=urlparse(url).netloc
for (k, v) in enumerate(result):
if ((len(re.findall(domen, result))==0) and (re.findall('http', result)>0)):
print result
Почему-то не выводит ничего и работает секунд 7 :(
В данном случае из result должны удалиться все элементы массива кроме 'http://google.ru'
Отредактировано (Сен. 17, 2011 15:13:55)
Офлайн
print filter(lambda x:x[:7]=='http://' and not domen in x, result)
Офлайн
o7412369815963, огромнейшее спасибо, всего одна строчка кода, я в шоке :o
А есть в Python такая функция чтобы можно было из элементов массива удалить все повторные элементы? Как в PHP например array_unique()?
Например есть массив result:
result=
result=
result=
Нужно из каждого массива удалить повторный элемент, в результате должно остаться:
result=
result=
result=
Есть такая функция удаляющая повторы? Нужно циклом проходить и чистить каждый массив на повтор?
Отредактировано (Сен. 17, 2011 15:52:22)
Офлайн
list(set(result))
Офлайн
o7412369815963Объясните пожалуйста что такое lambda x:x, почитал здесь мануал по lambda, но не понял что делает lambda x:x :( Объясните пожалуйста в двух словах.
Отредактировано (Сен. 17, 2011 16:33:48)
Офлайн
>>>но не понял что делает lambda x:x
анонимная функция. берется срез аргумента. читай про срезы.
>>>попробовал вывести …
IDLE питона запусти введи и посмотри результат. все должно работать.
>>>Я со вчерашнего дня начал изучать Python :( мануалов толковых по нему почему-то совсем мало, благо этот форум нашёл :)
доку еще никто не отменил.
>>>Подскажите ещё есть ли такая функция как implode() в PHP, чтобы совмещать элементы массива в строку с задаными разделителями…
смотри функцию join.
Офлайн
apologize828, спасибо большое за помощь :)
Офлайн