我正在从cvs文件中读取数据,当我将数据导入列表时,它会将数字视为字符串。
这是输出:['1.0', '1.20798878439', '1.52379907139']
但是我想要这样的[1.0, 1.20798878439, 1.52379907139]
,这样我才能处理实数而不是字符串?有什么建议吗?
答案 0 :(得分:3)
this.InitializeComponent();
您只需对其进行迭代,然后将其转换为您需要的数据类型。
正如@IanAuld所指出 - 这称为type casting或type conversion。
有些图书馆可以为您处理更棘手的转换
但最基本的东西是my_string_list = ['1.0', '1.20798878439', '1.52379907139']
my_int_list = [float(i) for i in my_string_list]
循环,迭代列表中的每个对象并转换它,最后将结果放在一个新列表中。
如果我要将我的答案从使用for
扩展到常规for循环,它将如下所示:
list comprehensions
答案 1 :(得分:0)
您可以使用类似列表理解来轻松输入强制转换并创建新列表:
>>> [float(x) for x in ['1.0', '1.20798878439', '1.52379907139']]
[1.0, 1.20798878439, 1.52379907139]
使用变量:
>>> a = [1.0, 1.20798878439, 1.52379907139]
>>> b = [float(x) for x in a]
>>> print(b)
[1.0, 1.20798878439, 1.52379907139]
有关列表推导的更多信息: https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions