Python 查找字符串中float的最大值-regex

Python 查找字符串中float的最大值-regex,python,regex,python-2.7,Python,Regex,Python 2.7,我现在面临着这样的挑战。我读过一些web类,并深入研究了正则表达式上的Python,但在我的问题上没有发现任何东西,因此我不确定这是否可能实现 考虑到这个dict-like字符串: "Mon.":[11.76,7.13],"Tue.":[11.76,7.19],"Wed.":[11.91,6.94] 我想比较括号中相应位置的值,只取最大值。因此,比较11.76,11.76,11.91应得出11.91 我的选择是获取所有值,然后进行比较,但我想知道regex是否可以处理这些值?尝试以下方法: &

我现在面临着这样的挑战。我读过一些web类,并深入研究了正则表达式上的Python,但在我的问题上没有发现任何东西,因此我不确定这是否可能实现

考虑到这个dict-like字符串:

"Mon.":[11.76,7.13],"Tue.":[11.76,7.19],"Wed.":[11.91,6.94]
我想比较括号中相应位置的值,只取最大值。因此,比较
11.76
11.76
11.91
应得出
11.91

我的选择是获取所有值,然后进行比较,但我想知道regex是否可以处理这些值?

尝试以下方法:

>>> import ast
>>> text = '''"Mon.":[11.76,7.13],"Tue.":[11.76,7.19],"Wed.":[11.91,6.94]'''
>>> rows = ast.literal_eval('{' + text + '}').values()
>>> [max(col) for col in zip(*rows)]
[11.91, 7.19]
import re

text = '''"Mon.":[11.76,7.13],"Tue.":[11.76,7.19],"Wed.":[11.91,6.94]'''
values = re.findall(r'\[(.*?)\]', text)
values = map(lambda x: x.split(','), values)
values = zip(*values)
print max(map(float, values[0]))
print max(map(float, values[1]))
输出:

11.91
7.19
试试这个:

import re

text = '''"Mon.":[11.76,7.13],"Tue.":[11.76,7.19],"Wed.":[11.91,6.94]'''
values = re.findall(r'\[(.*?)\]', text)
values = map(lambda x: x.split(','), values)
values = zip(*values)
print max(map(float, values[0]))
print max(map(float, values[1]))
输出:

11.91
7.19


你需要正则表达式解决方案吗?我的意思是,任何可行的方法都会很好。我的意思是,它看起来像一个dict,你可以把它转换成一个。你确定你总是会看到类似dict的字符串吗?你需要正则表达式解决方案吗?我的意思是,任何可行的方法都会很好。我的意思是,它看起来已经像dict了,你可以把它转换成一个。你确定你总是能看到像dict一样的字符串吗?给我你喝的东西,jamylak xd,这又是很棒的东西了。你有没有读过python方面的书,或者在stackoverflow这样的网站上学习过代码?这不会比较相应位置的值——它会比较所有的值。从这个问题中,我了解到OP想要一个类似于
[11.91,7.19]
@nutship的答案,主要是在线的东西,比如(Python文档)。你还需要从每个街区获得最大值吗?@Dhara我不确定OP是否真的需要。如果是这样,我会失去秩序。。。你是说
[11.76,11.76,11.91]
?是的,达拉在这方面是正确的。我还需要获得
7.19
的最终输出
[11.91,7.19]
给我你喝的东西jamylak xd这又是很棒的东西。你有没有读过python方面的书,或者在stackoverflow这样的网站上学习过代码?这不会比较相应位置的值——它会比较所有的值。从这个问题中,我了解到OP想要一个类似于
[11.91,7.19]
@nutship的答案,主要是在线的东西,比如(Python文档)。你还需要从每个街区获得最大值吗?@Dhara我不确定OP是否真的需要。如果是这样,我会失去秩序。。。你是说
[11.76,11.76,11.91]
?是的,达拉在这方面是正确的。对于
[11.91,7.19]