2016-06-15 4 views
0

Как я могу назвать выходные переменные моей функции, используя суффикс (строку), введенный в качестве ввода моей функции, чтобы применить одну и ту же функцию более одного раза, но получить каждый время результаты с другим именем?Укажите выходные переменные с использованием суффикса, введенного в качестве ввода

Я хотел бы попробовать что-то вроде этого:

import... (what I should import??..) 
import numpy as np 

def myFun(int, mysuffix) 
    a_%s = np.ones(int) %mysuffix 
return a_%s 
+1

Почему вы хотите это сделать? Функции могут применяться более одного раза ... – TehSphinX

+0

Что они сказали ^. Почему бы не 'myvar1 = myFun (options1); myvar2 = myFun (options2) 'и т. д.? –

+1

, то я предлагаю вам ответить на вопрос Tino A. – TehSphinX

ответ

2

Было бы лучше, чтобы иметь список на приемном конце, так что вы можете сделать, например:

mylist.append(myFun(int)) 

Вы можете итерацию над список, чтобы получить ваши результаты.

EDIT

Вы также можете использовать словарь вместо списка, так что вы можете получить доступ к своим результатам по имени + суффикс, например:

mydict = {} 
for i in range(6): # or whatever your loop looks like 
    mydict["a_{0}".format(i)] = myFun(int) 
0

Я не понимаю, почему вы бы нужны имена динамических переменных, но это должно делать то, что вы хотите:

exec("a%s = %s" % (mysuffix, some_other_string)); 

Замените второй аргумент на нужный вам тип переменной. Но, скорее всего, вам просто нужен список переменных.

Смежные вопросы