Python 如何遍历数组并将一些值更改为浮点值?

Python 如何遍历数组并将一些值更改为浮点值?,python,arrays,Python,Arrays,我正在尝试遍历这个数组,并将所有数字从字符串更改为浮点数 我不想对字母或单词做任何事情,它们可以保持字符串 我需要数组随着变化而更新,这样我就可以使用索引来访问数字,并在以后的过程中使用它们进行减法 你能帮帮我吗?也许可以尝试一下,除了?这只是一个列表示例。 使用正则表达式肯定是一个更优雅的解决方案,无论如何这应该是可行的 Python代码: data = ['A', '2.4', '3.8', None, 0.18] data_new = [] for item in data: if

我正在尝试遍历这个数组,并将所有数字从字符串更改为浮点数

我不想对字母或单词做任何事情,它们可以保持字符串

我需要数组随着变化而更新,这样我就可以使用索引来访问数字,并在以后的过程中使用它们进行减法


你能帮帮我吗?也许可以尝试一下,除了?

这只是一个列表示例。 使用正则表达式肯定是一个更优雅的解决方案,无论如何这应该是可行的

Python代码:

data = ['A', '2.4', '3.8', None, 0.18]
data_new = []

for item in data:
  if item != None and (isinstance(item, int) or isinstance(item, float) or item.replace('.', '', 1).isdigit()):
    item = float(item)
  data_new.append(item)

for item in data_new:
  print(item)
输出:

A
2.4
3.8
None
0.18

如果列表中的每一项不是无,或者数字(也是浮点数)不是字符串,它会将其强制转换为浮点数。

测试字符串的类型,并包含一个可以用正则表达式测试的数字。然后转换,您可以使用双
映射。
您应该将数据粘贴为文本,以防有人想要测试它。还有,它是什么数据类型?如果它是一个列表,我希望会有逗号。