Size: a a a

2021 July 03

S

Sanzhar in Python KZ
Всем привет, как можно это оптимизировать ?
источник

S

Sanzhar in Python KZ
for i in range(a):
   if (b[i]>0):
     sum = sum + b[i]
for i in range(a):
   if (b[0]>b[i]):
       b[0] = b[i]
   d = b[0]
for i in range(a):
   if (b[0]<b[i]):
       b[0] = b[i]
   c = b[0]
источник

К

Кir in Python KZ
оптимизация по скорости нужна? тогда смотри в сторону lambda
источник

m

mbb in Python KZ
??? Ты хочешь О(1) решить или как ?)
источник

BQ

Bumin Qaghan in Python KZ
What the fuck is going on here? 0_o
источник

m

mbb in Python KZ
😂😆
источник

R

Reffi_4 in Python KZ
Чего так много лупов и аллокаций, когда можно в мейн лупе делать проверки, вообще, можно написать генер под это дело и отдавать лишь нужные значения по требованию(так и памяти оно занимать будет меньше)
источник

К

Кir in Python KZ
можно через numpy, но надо слайс брать по a
источник

К

Кir in Python KZ
типа:
sl = b[:a]
а потом
sum = np.array( sl[sl>0]).sum()
d = np.array( sl[sl[0]>sl]).max()
c = np.array( sl[sl[0]<sl]).min()
источник

R

Reffi_4 in Python KZ
И вообще, на ноль необязательно проверять
источник

К

Кir in Python KZ
тогда sum = sl.sum()
источник

R

Reffi_4 in Python KZ
Хз зачем нампай, ну ладно
источник

К

Кir in Python KZ
а как из обычного списка получить список, в котором выбираем элементы больше первого и при этом без цикла?
источник

R

Reffi_4 in Python KZ
Ну тут без прохода не обойтись лл, в нампае точно так же оно за сценой и робит. Просто брать максимум из b[0], i и выводить все b[maximum:]
источник

I

InzGIBA in Python KZ
???

data = [1, 2, 3, 4, 5]
filter_value = data.pop(0)
list(filter(lambda x: x > filter_value, data))

or

data = [1, 2, 3, 4, 5]
[x for x in data if x > data[0]]
источник

R

Reffi_4 in Python KZ
Я хз в общем што тебе надо, походу просто взять минимум, максимум и сумму.
Тогда вообще не надо париться и заюзать обычные питоновские билтин методы..
sum(b)
max(b)
min(b)
Если нужно отдавать не все, а частями, то чтобы не тратить память можно использовать генератор

def stuff():
 yield sum(b)
 yield max(b)
 yield min(b)

И все, никакие проверки не нужны тут и тем более циклы
источник

К

Кir in Python KZ
Как бы вопрос про оптимизацию же был? И в numpy цикл побыстрее цикла в python
источник

R

Reffi_4 in Python KZ
А зачем в целом такой код писать? Когда можно использовать билтин, там оно явно быстрее работает
источник

R

Reffi_4 in Python KZ
Нежели писать свои суммы, минимумы, максимумы
источник

К

Кir in Python KZ
Там ещё по два условия
источник