Python从字符串中提取所有整数和浮点数

Python从字符串中提取所有整数和浮点数,python,Python,因此,我有以下清单: a='[47.2,46.6,46.4,46.0,45.7,45.54,45.29,45.01,44.79,44.54, 44.15,0.0]' 如何按顺序提取所有浮点数和整数 我试过了 import re a = [float(s) for s in re.findall("\d+\.\d+", a)] 但不拉整数 期待= a=[47.2,46.6,46.4,46,45.7,45.54,45.29,45.01,44.79,44.54, 44.15,0]

因此,我有以下清单:

a='[47.2,46.6,46.4,46.0,45.7,45.54,45.29,45.01,44.79,44.54, 44.15,0.0]'

如何按顺序提取所有浮点数和整数

我试过了

import re
a = [float(s) for s in re.findall("\d+\.\d+", a)]
但不拉整数

期待=

a=[47.2,46.6,46.4,46,45.7,45.54,45.29,45.01,44.79,44.54, 44.15,0]


这是因为您在正则表达式中包含了要匹配的
。请。更改整数的正则表达式


您应该使用
(\d+(?:\。\d+)
而不是正则表达式

这是因为您要在正则表达式中包含要匹配的
。请。更改整数的正则表达式


您应该使用
(\d+(?:\。\d+)
而不是正则表达式

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]
\d+(?:\。\d+)

代码:

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]
输出:

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]

Regex:

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]
\d+(?:\。\d+)

代码:

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]
输出:

import re
a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)]
print (a)
[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]
保持简单

spam = '[47.2, 46.6, 46.4, 46, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0]'

#using json
import json
eggs = json.loads(spam)
print(eggs)

# ast.literal_eval
from ast import literal_eval
eggs = literal_eval(spam)
print(eggs)
保持简单

spam = '[47.2, 46.6, 46.4, 46, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0]'

#using json
import json
eggs = json.loads(spam)
print(eggs)

# ast.literal_eval
from ast import literal_eval
eggs = literal_eval(spam)
print(eggs)

你能详细说明一下吗?是否要对包含整数和浮点数的列表进行排序?您可以添加示例输出吗?这是否回答了您的问题?你能详细说明一下吗?是否要对包含整数和浮点数的列表进行排序?您可以添加示例输出吗?这是否回答了您的问题?很高兴知道。请接受答案,这样人们就不会再开口提问了。很高兴知道。请接受答案,这样人们就不必再开口提问了。为什么使用json很容易,而且不知道背景工作?显然,用户在代码中提到了在is代码中使用
re
。@SivaShanmugam,OP要求将列表的字符串表示形式转换为列表对象。他们正在使用
re
(因为他们不知道更清楚,或者出于任何原因)。这并不意味着我们必须坚持次优尝试来完成任务。谢谢您的解释。@SivaShanmugam,请注意,您可以看到以下示例。一些用户可能会根据他们完成某项任务的尝试(例如,他们遇到的错误)提出问题,但实际上他们想要的甚至不在问题中(例如,他们试图完成的实际任务)。这可能也是其中之一。为什么使用json很容易,而且不知道背景工作?显然,用户在代码中提到了在is代码中使用
re
。@SivaShanmugam,OP要求将列表的字符串表示形式转换为列表对象。他们正在使用
re
(因为他们不知道更清楚,或者出于任何原因)。这并不意味着我们必须坚持次优尝试来完成任务。谢谢您的解释。@SivaShanmugam,请注意,您可以看到以下示例。一些用户可能会根据他们完成某项任务的尝试(例如,他们遇到的错误)提出问题,但实际上他们想要的甚至不在问题中(例如,他们试图完成的实际任务)。这个很可能也是其中之一。