g = [('Books', '10.000'),('Pen', '10'),('test', 'a')]
这里'10.000'
和 '10'
是字符串
如何转换为以下格式,字符串为 float
预计出
[('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' 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/