LINUX.ORG.RU

Re: запись в файл на pythone

> оптимальный алгоритм записи данных в файл без повторения посредством питона

"казнить нельзя помиловать", блин. Ничё не понял :)

Чем метод write не устраивает?

watashiwa_daredeska ★★★★ ()
Ответ на: Re: запись в файл на pythone от watashiwa_daredeska

Re: запись в файл на pythone

:) метод write устраивает-то...просто интересует как наиболее оптимально("правильно") при этом отслеживать повторяются ли строки

SpaceR ()
Ответ на: Re: запись в файл на pythone от SpaceR

Re: запись в файл на pythone

>как наиболее оптимально("правильно")

Критерий оптимальности(правильности) в студию.

DonkeyHot ★★★★★ ()
Ответ на: Re: запись в файл на pythone от SpaceR

Re: запись в файл на pythone

> отслеживать повторяются ли строки

Ты имеешь в виду, что в выходном файле не должно быть повторяющихся
строк? В таком случае, всё зависит от объёма данных. Если данные
помещаются в память, то:

def funique( it ) :
    """ Frequently used and most portable but slowest version
    """
    result = {}
    for x in it :
        result[x]=0
    return result.keys()

def iunique( it ) :
    """ Faster but less posrtable than funique() version. Requires Python 2.3.

    Borrowed from zopyrus@itconnection.ru maillist. As far as I remember, from
    Oleg Broytmann's message. Fix me if I'am mistaken (archive search is
    broken).
    """
    return dict(itertools.izip(it, itertools.repeat(0))).keys()

def kunique( it ) :
    """ According to this benchmark it is the fastest unique implementation
    with the same portability as iunique(). It definitely requires Python 2.3.
    """
    return dict.fromkeys(it).keys()

Принимают итераторы в качестве аргументов, возвращают списки с
неповторяющимися элементами. Правда, нарушается порядок следования.
Можешь адаптировать для своих целей.

watashiwa_daredeska ★★★★ ()
Ответ на: Re: запись в файл на pythone от watashiwa_daredeska

Re: запись в файл на pythone

еще раз спасибо...это я уже спрашивал для общего образования =)

SpaceR ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.