我需要从表达式中获取幂列表,例如:
'2 * x ** 3 + x ** -1 + x**4'
Run Code Online (Sandbox Code Playgroud)
预期的结果是
[3, -1, 4]
Run Code Online (Sandbox Code Playgroud)
我不知道如何做到这一点,因此我不能包括我尝试过的任何尝试。
我将不胜感激任何建议
'\*\*\s*(-?\d+)'按照以下代码中的建议使用此正则表达式:
>> import re
>> s = '2 * x ** 3 + x ** -1 + x**4'
>> exponents = [int(exponent) for exponent in re.findall('\*\*\s*(-?\d+)', s)]
>>> exponents
[3, -1, 4]
Run Code Online (Sandbox Code Playgroud)
关于正则表达式的一些解释:
\*\*- 你需要转义,**因为*在正则表达式中意味着任何字符。
\s*- 在**您可能不需要空格或多个空格之后
(-?\d+) - 它将允许您拥有正整数和负整数。
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |