Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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_Matplotlib - Fatal编程技术网

Python 使用循环或其他方法分配变量

Python 使用循环或其他方法分配变量,python,matplotlib,Python,Matplotlib,我试图将这些代码放入for循环中,但出现了错误。我知道变量不能用循环赋值,或者可能是我错了,这是有办法的 有没有办法做到这一点?或者是否有其他方法来实现这一目标 pm0=ax.annotate('', (35,10), textcoords='data',size=10) pm1=ax.annotate('', (35,5), textcoords='data', size=10) pm2=ax.annotate('', (35,0), textcoords='data', size=10) p

我试图将这些代码放入for循环中,但出现了错误。我知道变量不能用循环赋值,或者可能是我错了,这是有办法的

有没有办法做到这一点?或者是否有其他方法来实现这一目标

pm0=ax.annotate('', (35,10), textcoords='data',size=10)
pm1=ax.annotate('', (35,5), textcoords='data', size=10)
pm2=ax.annotate('', (35,0), textcoords='data', size=10)
pm3=ax.annotate('', (35,-5), textcoords='data',size=10)
pm4=ax.annotate('', (35,10), textcoords='data',size=10)


pm0.set_text(0)
pm1.set_text(1)
pm2.set_text(2)
pm3.set_text(3)
pm4.set_text(4)


#edit for i in range():
  for i in range(5):
     tag=10
     'pm'+str(i)=ax.annotate('', (35,tag), textcoords='data',size=10)
     tag=tag-5
     'pm'+str(i).set_text(i)

实现
for
循环的方法是错误的

而像
'pm'+str(i)=…
这样的操作将不起作用,因为它是一个字符串。不是一个变量

因此,使用
列表
,您可以执行以下操作

pm = []
tag = 5
for i in range(5):
    pm[i] = ax.annotate('', (35,tag), textcoords='data',size=10)
    tag = tag - 5
    pm[i].set_text(1)

还要注意,
标记
在循环外部初始化。否则,它将在每次迭代中重置。

对于范围(10,-5,5)中的i:
?感谢您指出这一点。我已经更新了代码以反映范围。您在这里想要实现什么?是否要通过循环初始化所有这些
pm
对象?如果是,最好使用
列表
。是,而不是手动初始化“pm”。我想用一个循环来替代它。但是,我所展示的循环不起作用。