在动态添加值后使用join进行打印

时间:2014-03-12 03:13:29

标签: python join printing

我有以下数据

r = ('P','A','A','P')
newval = 'Q'
newval2 = 'Z'

我想要做的是将r的值与newval一起打印。 但为什么失败了:

   print ",".join([r[0:4],newval,newval2])

所需的输出是:

P,A,A,P,Q,Z

2 个答案:

答案 0 :(得分:2)

我想我会将它们连接成两个列表:

>>> print ",".join(list(r) + [newval, newval2])
P,A,A,P,Q,Z

答案 1 :(得分:1)

r的类型为元组,str.join仅接受单个级别的可迭代。因此,您可以将其他数据连接为元组,例如

r, newval, newval2 = ('P','A','A','P'), 'Q', 'Z'
print ",".join(r + (newval,) + (newval2,))
# P,A,A,P,Q,Z

或者,您可以使用itertools.chain,就像这样

r, newval, newval2 = ('P','A','A','P'), 'Q', 'Z'
from itertools import chain
print ",".join(chain(r, newval, newval2))