Python 使用循环或其他方法分配变量
我试图将这些代码放入for循环中,但出现了错误。我知道变量不能用循环赋值,或者可能是我错了,这是有办法的 有没有办法做到这一点?或者是否有其他方法来实现这一目标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
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”。我想用一个循环来替代它。但是,我所展示的循环不起作用。