我已将我的输入解析为此列表:
lst = ['6,3', '3,2', '9,6', '4,3']
Run Code Online (Sandbox Code Playgroud)
如何将此字符串列表更改为浮动列表?虽然nw字符串的数字不是由a分隔的.但是,
之后,我想为每个浮点数添加1.这样输出就变成了:
lst = [7.3, 4.2, 10.6, 5.4]
Run Code Online (Sandbox Code Playgroud)
您可以使用locale.atof(string)哪个是设计用于将字符串转换为浮点数的函数,同时考虑到语言环境设置,即考虑到在某些文化/语言中逗号用于生成小数点,而不是句点.
对此的列表理解将是这样的
from locale import atof
a = ['6,3', '3,2', '9,6', '4,3']
b = [atof(i) + 1 for i in a]
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法测试它是否与逗号一起使用,因为我的语言环境设置为使用句点.
如果您不想使用,locale.atof那么下面的代码将通过将逗号转换为句点来完成类似的工作.您可以使用句点替换逗号str.replace.
a = ['6,3', '3,2', '9,6', '4,3']
b = [float(i.replace(',', '.')) + 1 for i in a]
# [7.3, 4.2, 10.6, 5.3]
Run Code Online (Sandbox Code Playgroud)
这个列表理解相当于
a = ['6,3', '3,2', '9,6', '4,3']
b = []
for i in a:
j = float(i.replace(',', '.')) + 1
b.append(j)
Run Code Online (Sandbox Code Playgroud)