gpt4 book ai didi

python - 在 Python 中使用正则表达式识别数字列表

转载 作者:太空宇宙 更新时间:2023-11-04 03:29:35 25 4
gpt4 key购买 nike

我正在处理来自在线数学辅导程序的数据,我希望能够识别这些问题的某些特征。例如,对于以下问题:

Find the median of the 7 numbers in the following list:
[22, 13, 5, 16, 4, 12, 30]

我想知道

1. the problem includes a list, 
2. how long the longest list in the problem is, and
3. how many numbers are in the problem total.

所以对于上面的问题,它有一个列表,列表有7个数字,总共有8个数字。

我已经编写了以下可以识别正数和负数以及 float 的正则表达式脚本,但我不知道如何识别列表中的一系列数字:

'[-+]{0,1}[0-9]+\.{0,1}(?! )[0-9]+'

此外,数据格式不正确,以下所有示例都可能是数字列表的样子:

[1, 2, 3]
1, 2, 3
1,2,3.
1, 2, 3, 4, 5

我已经为此工作了几天,但一直无法取得任何进展。谁能帮忙?用正则表达式解决甚至可能不是问题,我只是不确定从这一点开始如何去做。

最佳答案

假设您将输入作为字符串 - 您可以使用 re.findall仅从中提取数字:

import re

s = """[1, -2, 3]
1, 2, 3
1,2,3.
1, 2, 3, 4, 5"""

res = re.findall(r'-?\d+', s)
print res # ['1', '-2', '3', '1', '2', '3', '1', '2', '3', '1', '2', '3', '4', '5']

# and if you want to turn the strings into numbers:
print map(int, res) # [1, -2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 5]

关于python - 在 Python 中使用正则表达式识别数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com