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
如果列表中的每一项不是无,或者数字(也是浮点数)不是字符串,它会将其强制转换为浮点数。测试字符串的类型,并包含一个可以用正则表达式测试的数字。然后转换,您可以使用双
映射。
您应该将数据粘贴为文本,以防有人想要测试它。还有,它是什么数据类型?如果它是一个列表,我希望会有逗号。