Python join浮动到字符串 - 'unicode'对象不可调用

时间:2015-02-19 13:06:10

标签: python string unicode

我在python中编写代码

for cord in cords:
   s += str(cord[0]) + ' ' + str(cord[1])

其中: 线是10k 2浮点数组(线[[1.1,1.2],[1.3,5.2],...])和s是字符串('')

我想在一个字符串中加入所有的cords元素,如下所示: s ='(5.25 53.23),(1.52 5.25),(...)';

但我有错误:

  

追踪(最近一次通话):     文件“script.py”,第24行,in       s + = str(cord [0])+''+ str(cord [1])   TypeError:'unicode'对象不可调用

如何将float`s加入一个字符串?

4 个答案:

答案 0 :(得分:4)

我的脚本也遇到了同样的问题。 我尝试了一切,包括将环境变量“PYTHONIOENCODING”设置为“utf-8”,但由于问题不是那样,所以没有用。

与上面提到的goggelj一样,我的问题是在我的代码中使用“ str ”作为变量。 我改变了我的“ str ”变量,我的问题解决了。

谢谢goggelj。

答案 1 :(得分:1)

检查你是否有一个名为str的局部变量。如果你这样做,python会假设你正试图用它做点什么。

答案 2 :(得分:0)

下面的代码对我来说很好。

cords = [[1.1, 1.2], [1.3, 5.2]]
s = ""
for cord in cords:
    s += "("+str(cord[0]) + ',' + str(cord[1])+")"
print s

答案 3 :(得分:0)

s += '%s %s'%(cord[0],cord[1]) #insert spaces in middle

抛出同样的错误?

它是一种更简单的字符串格式化方式,可以帮助您获得所需的内容,例如。

s += '(%s , %s)'%(cord[0],cord[1])

获得(a.n,e.j)风格。