我有3组列表,想在python v3.2中使用for循环进行简单的打印
示例:
q1 = ['a','b','c']
q2 = ['x','y','z']
q3 = ['red','blue','green']
print (q1)
print (q2)
print (q3)
以下是我希望并且可以通过上面的3条打印线实现的结果
['a', 'b', 'c']
['x', 'y', 'z']
['red', 'blue', 'green']
但是我想使用for循环,例如
for i in range(0,3):
i+=1
print ('q'+str(i))
上面的for循环只会打印
q1
q2
q3
如何连接'q'和i并打印出实际列表。提前感谢任何可以提供帮助的人。请注意,我甚至达不到新手的水平!我发现了许多很好的例子,来自这个网站的帮助。 FAB ..
答案 0 :(得分:2)
编号变量名称通常表示这些变量应该被列表替换:
q = [['a','b','c'],
['x','y','z'],
['red','blue','green']]
for item in q:
print(item)
现在可以使用q1
访问以前称为q[0]
的对象(因为Python使用基于0的索引)。
答案 1 :(得分:1)
迭代包含列表的元组。
>>> q1 = ['a','b','c']
>>> q2 = ['x','y','z']
>>> q3 = ['red','blue','green']
>>> for x in q1, q2, q3: # (q1, q2, q3)
... print(x)
...
['a', 'b', 'c']
['x', 'y', 'z']
['red', 'blue', 'green']
答案 2 :(得分:0)
为了您的信息,您可以使用locals
或globals
按名称获取变量以用于练习目的:
In [62]: for i in range(1,4):
...: print locals()['q'+str(i)]
...:
['a', 'b', 'c']
['x', 'y', 'z']
['red', 'blue', 'green']
注意他们can be dangerous,您应该在执行此操作时重构代码。
答案 3 :(得分:0)
您可以使用eval
。
q1 = ['a','b','c']
q2 = ['x','y','z']
q3 = ['red','blue','green']
for i in range(0,3):
i+=1
print eval('q'+str(i))