提问者:小点点

如何将元组字符串列表的数据类型转换为浮点


g=[('books','10.000'),('pen','10'),('test','a')]

这里的“10.000”和“10”是字符串

如何转换为以下格式字符串为浮点

预期out

[('Books', 10.000),('Pen', 10),('test', 'a')]

在这里,10.000和10是浮点数,a必须是字符串

newresult = []
for x in result:
    if x.isalpha():
        newresult.append(x)
    elif x.isdigit():
        newresult.append(int(x))
    else:
        newresult.append(float(x))
print(newresult)

收到错误attributeError:“tuple”对象没有属性“isalpha”


共2个答案

匿名用户

您需要从每个元组中使用正确的值:

for first_value, second_value in result:    
    if second_value.isalpha():
        ...
  1. first_value将是“books”
  2. second_value将为“10.000”

但还不清楚你想要实现什么。

匿名用户

data = [('Books', '10.000'),('Pen', 10)]
print([(a,float(b)) for a,b in data]) 

这可以帮助在循环中迭代,并将元组中的第二个项转换为浮点数