我正在尝试通过插入元组来创建一个字符串。我想把'k = as.numeric(list(1, 2, 3))'
作为我的输出:
j = (1, 2, 3)
'k = as.numeric(list%r)' % j
返回
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
有人可以解释一下这里出了什么问题吗?感谢。
答案 0 :(得分:5)
如果给%
一个元组,它假定您要使用元组的元素作为要格式化的项,即使格式字符串只包含一个占位符。解决方案是将元组包装成一个元组:
'...%r...' % (j,)
答案 1 :(得分:2)
它试图以字符串格式分别使用j
中的所有3个项目。单独处理j
:
'k = as.numeric(list%r)' % (j,)