Я довольно новичок в Python, но довольно быстро понял большинство концепций.Как использовать локальные переменные в функциях Python?
Я написал следующую функцию, чтобы получить цифры возврата массива:
def getret(X):
if X:
A = X
B = X
print(A)
print(B)
A.insert(0, 0)
print(A)
B.insert(len(X), 0)
print(B)
Z = []
for i in range(len(A)):
Z.append(B[i]-A[i])
print(Z)
return Z
return False
Проблема, которую я имею, я хочу переменные А и В должны быть обработаны полностью независимо друг от друга, но кажется, что они связаны между собой так как они оба относятся к переменной X.
Когда я кормлю эту функцию массива [1,3,2,5,4] результаты выводятся следующим образом:
[1,3,2,5,4] # print A = X
[1,3,2,5,4] # print B = X
[0,1,3,2,5,4] # print A.insert(0, 0)
[0,1,3,2,5,4,0] # print B.insert(len(X), 0)
[0,0,0,0,0,0,0] # print list B - A
оказывается Wh en I, чтобы изменить A и B, я фактически изменяю их ссылку X, а не только сохраненную переменную.
В JavaScript я мог бы легко решить эту проблему, установив A и B как локальные переменные X, но я не смог найти такую краткую альтернативу в Python.
Я использую PyCharm и Python 3.4.
Вы должны показать, что вы имеете в виду, как вы это сделаете в JS. AFAIK делает 'var A = X; var B = X' будет иметь тот же результат, что и этот код Python. –
Вы правы. Я смог сделать это в JavaScript, но это произошло не из-за использования «var». Извиняюсь. – alpacinohead