2014-09-26 4 views
0

Я хочу, чтобы сохранить входящие данные в массив, помнить свою предыдущую позицию массива test.pyустановки глобальной матрицы в питоне

global data, in_data 
data_hold = {} 
data = 0 

def start_input(atm_data): 
    data_hold[data] = atm_data 

При вызове дважды из другого модуля:

test.start_input (5) 
test.start_input (6) 

Погрешности выход:

UnboundLocalError: local variable 'data' referenced before assignment 

Я попытался установить data = 0 внутри start_input(atm_data) модуля, но данные вводятся в

data_hold[0] = 5 
data_hold[0] = 6 

Я хочу выхода быть:

data_hold[0] = 5 
data_hold[1] = 6, and so on 

ответ

0

Что-то вроде:

data_hold = [] 

def start_input(atm_data): 
    data_hold.append(atm_data) 

Должен работать без каких-либо global вещей ,

Но, как говорится, модуль не является отличной заменой для надлежащего класса, который, как вам кажется, вам нужен.

+0

Благодарим за приглашение ответить –

0
data = 0 
data_hold = {} 
atm_data = {} 

def start_input(atm_data): 
    global data 
    data_hold[data] = atm_data 
    data +=1 

testing: 
start_input(5) 
start_input(6) 
start_input(7) 

output: 
data_hold[0] = 5 
data_hold[1] = 6 
data_hold[2] = 7 
+0

Можете ли вы объяснить, что вы делаете? – cpburnz

+0

Я хочу получить доступ к недавнему значению моей переменной 'data_hold', которая продолжает изменяться другим модулем. –

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