Python 循环中无法进行变量赋值(对于)
我正在建立一个基于python的数据程序,希望解决这个“for循环”和“变量赋值”问题 我正在使用python 3.7.2和jupyter笔记本Python 循环中无法进行变量赋值(对于),python,python-3.x,for-loop,variable-assignment,Python,Python 3.x,For Loop,Variable Assignment,我正在建立一个基于python的数据程序,希望解决这个“for循环”和“变量赋值”问题 我正在使用python 3.7.2和jupyter笔记本 for i in range(10): a = 1 a_i = 2 print(a) print(a_i) print(a_1) 1 2 --------------------------------------------------------------------------- NameError
for i in range(10):
a = 1
a_i = 2
print(a)
print(a_i)
print(a_1)
1
2
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-14-ffb07f4b1734> in <module>
6 print(a)
7 print(a_i)
----> 8 print(a_1)
NameError: name 'a_1' is not defined
对于范围(10)内的i:
a=1
a_i=2
印刷品(a)
打印(a_i)
打印(a_1)
1.
2.
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在里面
6印刷品(a)
7打印(a_i)
---->8份打印件(a_1)
NameError:未定义名称“a_1”
我希望a_1应该是2,因为它是在for循环中分配的。
我的意思是a_1~a_9都应该是2,但a_I是2。我不明白为什么a_1~a_9没有定义。因为变量不是这样工作的 变量
a_i
是一个唯一命名的标量变量,称为“a下划线i”。i与另一个完全不相关的标量变量“i”没有任何关系。如果有,如果在循环中使用“item\u id”这样的变量,会发生什么情况,您是否希望它扩展到“1tem\u 1d”和“2tem\u 2d”
试一试
a=[]
对于范围(0,5)内的i:
a、 附加(i*2)
打印(a[1])
打印(a[2])
你也可以用字典
a={}
对于范围(0,5)内的i:
a[i]=i*2
打印(a[1])
打印(a[2])
我发现这是因为解析问题。计算机把‘a_i’本身理解为一个符号,所以‘a_1’,…'无法分配_2'。