Skip to main content
 首页 » 编程设计

python之当它是 '' 时删除元组列表的元素

2025年05月04日14txw1958

我有大量的元组列表,如下所示:

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)]