> что-то пытаетесь доказать
Я? Да мне как-то на всё это положить :-).
Ладно, я сделал необходимые выводы и более этот вопрос мне не интересен, скучно. Считаю данную тему для себя закрытой.
..bw
import timeit
from itertools import ifilter, imap, izip, islice
lst = ["fffdks","fffkdj","fffkdk","fffkdl","fffkjj","fffkjk","fffkjl","fgskdf"]
def _filter(s):
for i in xrange(len(s)-1):
if s[i] == s[i + 1]: return False
return True
def _filter2(s):
for i in xrange(1, len(s)):
if s[i - 1] == s[i]: return False
return True
def _filter3(s):
for a, b in izip(s, islice(s, 1, None)):
if a == b: return False
return True
if "__main__" == __name__:
t1 = timeit.Timer("filter(_filter, lst)",
"from __main__ import _filter, lst, izip, islice")
t2 = timeit.Timer("filter(_filter2, lst)",
"from __main__ import _filter2, lst, izip, islice")
t3 = timeit.Timer("filter(_filter3, lst)",
"from __main__ import _filter3, lst, izip, islice")
print(t1.timeit(100000))
print(t2.timeit(100000))
print(t3.timeit(100000))
# к выше приведенному коду добавил функцию
def test():
filter(_filter, lst)
filter(_filter2, lst)
filter(_filter3, lst)
# после строки print(t3.timeit(100000)) добавил
cProfile.run("test()", "test.prof")