Size: a a a

Сообщество Python Программистов

2021 June 21

R3

Rud 356 in Сообщество Python Программистов
здеся мой код уже обгонять начал даже
from random import randint
from timeit import timeit


def insert_separator(old, sep):
   def gen(_sep):
       while True:
           yield _sep

   result = []
   result.extend(zip(old, gen(sep)))
   return result[:-1]


def foo(lst, sep):
   res = []
   for i in lst:
       res += [i, sep]
   return res[:-1]


source = [randint(1, 100000) for _ in range(10000)]
sep = None
N = len(source)

print(timeit("""insert_separator(source, None)""", number=10_000, globals={"source": source, "insert_separator": insert_separator}))
print(timeit("""foo(source, None)""", number=10_000, globals={"source": source, "foo": foo}))
источник

R3

Rud 356 in Сообщество Python Программистов
И да, они оба долбят одно ядро на сот очку
источник

AK

Artem Kushnir in Сообщество Python Программистов
Можно ли вызвать assert_called_with внутри другого assert_called_with ?
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
ВОт это и ужос. Хотя, у меня их восемь.
источник

R3

Rud 356 in Сообщество Python Программистов
а что ужас то? код отрабатывает как может быстро
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
Жаль, что лошадь не поспевает за этой крутой телегой. Не могу замерить время.
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
Ну лан, поверим на слово.
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
источник

in Сообщество Python Программистов
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
А ещё две можно?
источник

in Сообщество Python Программистов
Код
источник

ЯЛ

Ярослав Лазарев... in Сообщество Python Программистов
def insert_separator2(old, sep):
   def gen(_sep):
       while True:
           yield _sep

   result = []
   result.extend(zip(old, gen(sep)))
   return result[:-1]

def separate(arr, sep):
 return list(chain(*zip(arr, [sep] * len(arr))))[:-1]

sixth = lambda: separate(source, sep)
seventh = lambda: insert_separator2(source, sep)

# print(timeit(sixth, number=1_000))
# print(timeit(seventh, number=1_000))
источник

in Сообщество Python Программистов
источник

in Сообщество Python Программистов
источник

D

Daler in Сообщество Python Программистов
extend работает быстрее чем + ?
источник

in Сообщество Python Программистов
Возьми да проверь
источник

D

Daler in Сообщество Python Программистов
Я не за компом щас , не могу проверить
источник

in Сообщество Python Программистов
ipython говна подкидывает
источник

D

Daler in Сообщество Python Программистов
Ахах
источник

D

Daler in Сообщество Python Программистов
Нда, недавно в этом чате осуждали кретинов, говоривших, что производительность важнее читабельности,сейчас же соревнуемся, у кого код работает быстрее :)
источник