Найти - Пользователи
Полная версия: поиск в массиве, удаление элементов
Начало » Python для новичков » поиск в массиве, удаление элементов
1
zinger
День добрый.
Помогите пожалуйста с такой проблемой:
Есть массив и 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'
o7412369815963
print filter(lambda x:x[:7]=='http://' and not domen in x, result)
zinger
o7412369815963, огромнейшее спасибо, всего одна строчка кода, я в шоке :o

А есть в Python такая функция чтобы можно было из элементов массива удалить все повторные элементы? Как в PHP например array_unique()?

Например есть массив result:
result=
result=
result=

Нужно из каждого массива удалить повторный элемент, в результате должно остаться:
result=
result=
result=

Есть такая функция удаляющая повторы? Нужно циклом проходить и чистить каждый массив на повтор?
apologize828
list(set(result))
zinger
o7412369815963
Объясните пожалуйста что такое lambda x:x, почитал здесь мануал по lambda, но не понял что делает lambda x:x :( Объясните пожалуйста в двух словах.

apologize828, попробовал вывести
print list(set(result));
TypeError: unhashable type: ‘list’

это в цикле надо делать?

Я со вчерашнего дня начал изучать Python :( мануалов толковых по нему почему-то совсем мало, благо этот форум нашёл :)

Подскажите ещё есть ли такая функция как implode() в PHP, чтобы совмещать элементы массива в строку с задаными разделителями…
Например массив:
result=

Нужно чтобы превратился в текст:
text='http://www.zcarot.com/
http://allsunnybeach.ru
http://www.zcarot.com/123
http://www.zcarot.com/12345'

Есть такая функция?
apologize828
>>>но не понял что делает lambda x:x
анонимная функция. берется срез аргумента. читай про срезы.

>>>попробовал вывести …
IDLE питона запусти введи и посмотри результат. все должно работать.

>>>Я со вчерашнего дня начал изучать Python :( мануалов толковых по нему почему-то совсем мало, благо этот форум нашёл :)
доку еще никто не отменил.

>>>Подскажите ещё есть ли такая функция как implode() в PHP, чтобы совмещать элементы массива в строку с задаными разделителями…
смотри функцию join.
zinger
apologize828, спасибо большое за помощь :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB