Значения (например, 3
, "hello"
, True
, []
, и т.д. c) ссылаются на переменные , которые имеют имя . Например:
a = 4
a
- это переменная (имя которой «a»), и она ссылается на значение 4
.
Однако не все имена действительны. Например, «1» не является допустимым именем переменной. Откуда интерпретатор мог знать, что 1
- это переменная, а не значение?
Более того, вы не можете присвоить значение другому значению. То есть, вы не можете сделать что-то вроде этого:
4 = True
Это просто не имеет никакого смысла.
В вашем конкретном случае c str(y)
- это выражение, которое возвращает значение. Например, если y=3
, то str(y)
вернет "3"
. Как ценность, вы не можете присвоить ей другое значение! Т.е. вы не можете сделать
str(y) = []
Вместо этого вы можете создать переменную (с собственным именем) и присвоить ей значение.
Если вы действительно хотите создать переменная с именем, созданным во время выполнения, вы можете посмотреть на этот вопрос. Однако это не рекомендуется. Вместо этого вы можете создать массив значений:
arr = []
for i in range(100):
arr.append([])
# arr[i] is your i-th variable