(KNN) when get Train accuracy, got an error

from sklearn.model_selection import train_test_split

X = df.drop(‘HeartDisease’, axis=1)

y = df[‘HeartDisease’]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=1)

X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=1/9, random_state=1)

def euclidean_distance(a, b):

distance = np.sqrt(np.sum(a - b)**2)

return distance

def manhattan_distance(a, b):

distance = 0

for a_i,b_i in zip(a,b):

    distance += abs(a_i - b_i)  

return distance

def KNN_euclidean(X_train, X_test, y_train, y_test, K):

y_list = []

for test_knn in X_test.to_numpy():

  distances = []

for i in range(len(X_train)):

  distances.append(euclidean_distance((np.array(X_train.iloc[i])), test_knn))

distance_data = pd.DataFrame(data = distances, columns = ['distance'], index = y_train.index)

k_neighbors_list = distance_data.sort_values(by=['distance'], axis = 0)[:K]

labels = y_train.loc[k_neighbors_list.index]

voting = mode(labels).mode[0]

y_list.append(voting)

return y_list

def KNN_manhattan(X_train, X_test, y_train, y_test, K):

y_list = []

for test_knn in X_test.to_numpy():

 distances = []

for i in range(len(X_train)):

  distances.append(manhattan_distance((np.array(X_train.iloc[i])), test_knn))

distance_data = pd.DataFrame(data = distances, columns = ['distance'], index = y_train.index)

k_neighbors_list = distance_data.sort_values(by=['distance'], axis = 0)[:K]

labels = y_train.loc[k_neighbors_list.index]

voting = mode(labels).mode[0]

y_list.append(voting)

return y_list



euclidean_acc_trains = []

for i in range(1, 10):

**f = KNN_euclidean(X_train, X_test, y_train, y_test, K=i).fit(X_train, y_train)**

result = clf.predict(X_train)

euclidean_acc_trains.append(accuracy_score(y_train, result))

plt.plot(range(1, 10), euclidean_acc_trains, color='b', marker='o')

****AttributeError: ‘list’ object has no attribute ‘fit’
i wanna get train accuracy with this code, but it doesnt work. how can i solve this prob?