Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环中无法进行变量赋值(对于)_Python_Python 3.x_For Loop_Variable Assignment - Fatal编程技术网

Python 循环中无法进行变量赋值(对于)

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

我正在建立一个基于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                                 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'。