将字符串列表转换为float

 416703721 发布于 2023-02-11 20:24

我从外部文件打印了一些数据并将数据拆分为一个字符串:

string = data
splitstring = string.split(',')
print(splitstring)

这给了我:

['500', '500', '0.5', '50', '1.0', '0.75', '0.50', '0.25', '0.00']

我尝试使用这种方法将它们变成浮点数:

for c in splitstring:
    splitstring[c]=float(splitstring[c])

但它给了我这个错误:

Traceback (most recent call last):
  File "/Users/katiemoore/Documents/MooreKatie_assign10_attempt2.py", line 44, in 
    splitstring[c]=float(splitstring[c])
 TypeError: list indices must be integers, not str

Martijn Piet.. 6

使用列表理解:

splitstring = [float(s) for s in splitstring]

或者,在Python 2上,为了速度,使用map():

splitstring = map(float, splitstring)

当您在Python中循环遍历列表时,您没有获取索引,您自己获取,因此c不是整数而是字符串值('500'在第一次迭代中).

您必须使用enumerate()为您生成索引以及实际值:

for i, value in enumerate(splitstring):
    splitstring[i] = float(value)

或者使用for c in range(len(splitstring)):生产指数.但map()无论如何,列表理解和选项都更好.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有