Jam*_*ein -1 python regex math list-comprehension python-3.x
Python 3:给定一个字符串(一个等式),返回一个正整数和负整数的列表.我尝试了各种正则表达式和列表理解解决方案无济于事.
给定等式4 + 3x或-5 + 2y或-7y-2x返回:[4,3],[ - 5,2],[ - 7,-2]
输入
str = '-7y-2x'
Run Code Online (Sandbox Code Playgroud)
产量
my_list = [-7, -2]
Run Code Online (Sandbox Code Playgroud)
使用re.findall函数的简单解决方案:
import re
s = '-5+2y'
result = [int(d) for d in re.findall(r'-?\d+', s)]
print(result)
Run Code Online (Sandbox Code Playgroud)
输出:
[-5, 2]
Run Code Online (Sandbox Code Playgroud)
-?\d+- 匹配正整数和负整数
原始字符串表示法(
r"text")保持正则表达式理智.没有它,\正则表达式中的每个反斜杠(' ')都必须以另一个为前缀以逃避它
这个正则表达式可以解决您的问题。
[\+\-]?[0-9]+
Run Code Online (Sandbox Code Playgroud)
另外,这是一些附带的代码。
import re
regex = re.compile(r'[\+\-]?[0-9]+')
nums = [int(k) for k in regex.findall('5-21x')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3663 次 |
| 最近记录: |