我有大量的元组列表,如下所示:
data =[
('-0.167969896634', '0.475981802514', ''),
('-0.186100643368', '0.47510168705', ''),
('-0.205064369305', '0.476225633961', ''),
...]
我需要删除 ' ' 并将它们全部转换为 float ,但我不确定该怎么做。我试过这个:
[tuple(float(x) for x in t) for t in data]
但是它会告诉我 str
不能转换为 float
类型,我怀疑它可能是 ''
部分?
最佳答案
您可以使用 try/except block 进行转换,例如:
代码:
def convert(a_float):
try:
return float(a_float)
except ValueError:
return 0
测试代码:
data = [('-0.167969896634', '0.475981802514', ''),
('-0.186100643368', '0.47510168705', ''),
('-0.205064369305', '0.476225633961', '')
]
new_data = [tuple(convert(f) for f in t) for t in data]
print(new_data)
结果:
[(-0.167969896634, 0.475981802514, 0),
(-0.186100643368, 0.47510168705, 0),
(-0.205064369305, 0.476225633961, 0)]
关于python - 当它是 '' 时删除元组列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49396521/