我有一个列偶数格式的数据列表:
['[ 0.93913063 0.28020878 0.2769496 ]',
'[ 0.21672141 0.29633945 0.19763641]',
'[ 0.74718183 0.33466203 0.13866566]',
'[ 0.1067503 0.20448574 0.16817043]',
'[ 0.1223612 0.11653754 0.13288494]',
'[ 0.48761208 0.78240743 0.38697977]',
'[ 0.4300345 0.50380231 0.48102237]']
我想把这些数据分成如下列表:
[(0.93913063,0.28020878,0.2769496),(0.21672141,0.29633945,0.19763641),(0.74718183,0.33466203,0.13866566),(0.1067503, 0.20448574,0.16817043),(0.1223612,0.11653754,0.13288494),(0.48761208,0.78240743,0.38697977),(0.4300345,0.50380231,0.48102237)]
我遇到的问题是,我要将数据拆分,然后以我想要的格式将所有数据拼凑在一起,但括号中的值之间没有一致的空格。 我就是这么做的:
def removefront(s):
return s[2:]
def removeend(s):
return s[:-2]
valuelist = []
i = 0
for x in xrange(0,len(data)):
print data[i]
a,b,d = data[i].split(' ')
p1 = removefront(a)
p3 = removeend(d)
p1 = float(p1)
p2 = float(b)
p3 = float(p3)
coord = (p1, p2, p3)
i += 1
valuelist.append(coord)
非常感谢您的帮助。谢谢!你知道吗
这非常适合正则表达式:
这将忽略任何空白并提取所有数字和小数点组。你知道吗
这份清单给人的感觉有点像戈德堡,但这是我的破绽。你知道吗
输出
您可以在此处将列表理解与一些字符串方法结合使用:
这里
str.strip('[]')
从字符串中删除[]
,然后在空白处拆分数据,然后对每个项应用float()
。你知道吗另一个选择是在这里将
ast.literal_eval
与regex一起使用:相关问题 更多 >
编程相关推荐