python - 如何将元组字符串列表的数据类型转换为 float

标签 python tuples

g = [('Books', '10.000'),('Pen', '10'),('test', 'a')]这里'10.000''10'是字符串
如何转换为以下格式,字符串为 float
预计出

[('Books', 10.000),('Pen', 10),('test', 'a')]
这里10.00010是浮点数和 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' object has no attribute 'isalpha'

最佳答案

您的代码有问题,因为您使用的 x 是一个元组。您提供的列表元素是元组类型 (String,String),因此您需要对元组的元素再进行一次迭代。我已将您的代码修改为:

newresult = []
for tuple in result:
    temp = []
    for x in tuple:
        if x.isalpha():
            temp.append(x)
        elif x.isdigit():
            temp.append(int(x))
        else:
            temp.append(float(x))
    newresult.append((temp[0],temp[1]))
print(newresult)
我已经测试了代码:
 //input 
 result= [('Books', '10.000'),('Pen', '10'),('test', 'a')]
 //output
 [('Books', 10.0), ('Pen', 10), ('test', 'a')]

关于python - 如何将元组字符串列表的数据类型转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62717970/

相关文章:

python - 在 Python2 中导入一些 python3 模块

python - 使用 Python 正则表达式匹配换行符和任何字符

c# - 对值元组使用属性

c++ - 给定 std::tuple<T...> 时可变参数模板类的实例化?

C++14 元组按类型寻址——这不只是在做一个普遍无效的假设吗?

python - 如何触发值(value)变化的功能?

python - 具有较少参数和可选参数的函数

python - 我似乎无法在 python 中处理来自 regex(re.search) 的空白结果,我要么得到重复结果,要么没有结果?

python - 根据条件在嵌套列表中插入缺失元素 - Python

python - 查找具有共同元素的元组