Это упрощенная версия некоторого кода, над которым я работаю, своего рода игрушечная модель, поэтому я могу сосредоточиться только на том, что меня беспокоит. Вот почему у меня определена функция для определения минимума, а не просто с помощью команды numpy. В моем собственном коде требуется функция, так как она не так проста, как использование существующей функции numpy.
Что я хочу сделать, так это разбить мой список на 2 списка в минимальной точке - поэтому, учитывая то, что у меня есть, я в идеале получу [15, 62, 49, 49, 4] and [100, 71, 16, 70, 62]
. Однако я не понимаю этого. Я получаю все точки, хранящиеся в node1, и ничего в node2. я действительно не могу понять, почему - как вы можете видеть, я попробовал 2 способа сделать для l oop. я полностью знаю идею кода, что l oop должен работать над индексами списка и затем сохранять значения этих индексов в новых списках, node1 и node2. что я делаю не так?
#generate random list of numbers
import random
randomlist = [] #==profile_coarse
for i in range(0,10):
n = random.randint(1,100)
randomlist.append(n)
print(randomlist)
#define a function to find minimum
def get_min(list):
mini=np.min(randomlist)
return mini
node1=[]
node2=[]
for i in enumerate(randomlist):
if i<=get_min(randomlist):
node1.append(randomlist[i])
else:
node1.append(randomlist[i])
#OR
for i in range(0,len(randomlist)):
if i<get_min(randomlist):
node1.append(randomlist[i])
else:
node1.append(randomlist[i])
print(node1,node2)
что дает
[15, 62, 49, 49, 4, 100, 71, 16, 70, 62] []