连接文字和数字

时间:2014-02-23 13:19:29

标签: python list printing python-3.2

我有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 ..

4 个答案:

答案 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)

为了您的信息,您可以使用localsglobals按名称获取变量以用于练习目的:

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))