Не удается назначить литералу

#python #list #append

Вопрос:

В своем коде я хочу просто создать tsne_results список, который будет содержать [tsne_results_50,tsne_results_30,tsne_results_50,tsne_results_100] . Но я не могу, так как там написано Cannot assign to literal . Как я могу это исправить?

 perplexity_values=[5,30,50,100]
tsne_results=[]

for value in perplexity_values: 
  tsne = TSNE(n_components=2, verbose=1, perplexity=value, n_iter=250)
  f'tsne_results_{(str(value))}' = tsne.fit_transform(X)
  f'tsne_results_{(str(value))}'.append(tsne_results)
 

Ответ №1:

Переменные не могут быть созданы динамически в Python. Вы видите, что хотите присвоить значение строке, и думаете, что это создаст переменную.

Похоже, ты пытаешься сделать что-то вроде:

 tsne_results = {}
for value in perplexity_values:
     ....
     tsne_results[value] = tsne.fit_transform(X)