我在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加入一个字符串?
答案 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)风格。