Python 如何从字符串中提取数字并与其他值进行比较?

Python 如何从字符串中提取数字并与其他值进行比较?,python,list,numbers,Python,List,Numbers,有这样一根线: server volume1 0% server volume2 10% server2 volume1 15% 是否可以只选择那些拥有超过10%的数据 要获取百分比,我使用以下正则表达式: match = re.findall("\d+%", string) 输出如下: ['0%', '10%', '15%'] warning: server.volume2 = 10%, server2.volu

有这样一根线:

server volume1 0%              
server volume2 10%              
server2 volume1 15%
是否可以只选择那些拥有超过10%的数据

要获取百分比,我使用以下正则表达式:

match = re.findall("\d+%", string)
输出如下:

['0%', '10%', '15%']
warning: server.volume2 = 10%, server2.volume1 = 15%
但是我怎么能用它来运作呢

所需的输出可以是这样的:

['0%', '10%', '15%']
warning: server.volume2 = 10%, server2.volume1 = 15%

在编程时,百分比通过数字除以100而变成小数,这样在用于算术时,它们表现得很好。例如,如果你想要1000的10%,你可以通过0.1*1000=100得到,也就是说,你把10%转换成0.1

所以你能做的就是

match=re.findall\d+%,字符串 match2=[intx.replace%',/100表示匹配中的x]
然后,您可以将服务器卷分配给这些数字,并轻松检查卷是否>0.1或您希望在编程时设置的任何边界,而不是将数字除以100,从而将百分比转换为小数,这样在用于算术时它们表现良好。例如,如果你想要1000的10%,你可以通过0.1*1000=100得到,也就是说,你把10%转换成0.1

所以你能做的就是

match=re.findall\d+%,字符串 match2=[intx.replace%',/100表示匹配中的x]
然后,您可以将服务器卷分配给这些数字,并轻松检查卷是否>0.1或您希望设置的任何边界。因此,您已经完成了一半的工作。你把它们列在了一个名单上,但是,我担心你需要改变这一点。。。 因为您不存储该值包含的卷, 解决办法是:

字符串=服务器卷1 10% 服务器卷25% server2卷1 15%替换为实际字符串 finalString=警告: matchArr=string.split\n 对于matchArr中的i: tmpMatchArr=i.split 对于0范围内的i,LentMPatCharr: 如果inttmpMatchArr[2],则替换%,<10: 打破 如果i==2: 最终字符串+==+tmpMatchArr[i]+,, elif i==1: 最终字符串+=tmpMatchArr[i] 其他: finalString+=tmpMatchArr[i]+。 打印最终打印; 这会自动选择大于10的进位,若要更改它,请更改数字10。
我测试了它,它工作了;如果它不符合或不符合您的要求,请发表评论,我将提供帮助

那么,你完成了一半的工作。你把它们列在了一个名单上,但是,我担心你需要改变这一点。。。 因为您不存储该值包含的卷, 解决办法是:

字符串=服务器卷1 10% 服务器卷25% server2卷1 15%替换为实际字符串 finalString=警告: matchArr=string.split\n 对于matchArr中的i: tmpMatchArr=i.split 对于0范围内的i,LentMPatCharr: 如果inttmpMatchArr[2],则替换%,<10: 打破 如果i==2: 最终字符串+==+tmpMatchArr[i]+,, elif i==1: 最终字符串+=tmpMatchArr[i] 其他: finalString+=tmpMatchArr[i]+。 打印最终打印; 这会自动选择大于10的进位,若要更改它,请更改数字10。 我测试了它,它工作了;如果它不符合或不符合您的要求,请发表评论,我将提供帮助