python - 正则表达式中未转义的左大括号已弃用,在正则表达式中通过;

标签 python list recursion

我正在尝试编写一个程序来在 python 中使用递归查找列表的总和,我的代码是这样的

value = 0

def sum_list(alist):
    global value
    if len(alist) == 0:
        return value
    value += alist.pop()
    return sum_list(alist)

print sum_list(range(10))

但是当我执行这个脚本时,我遇到了一个奇怪的错误。

Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
Error: no "print" mailcap rules found for type "text/x-python"

我搜索了它,但不明白为什么会出现此错误。 帮助将不胜感激

最佳答案

您的代码是有效的 Python 2。(它不是有效的 Python 3,因为打印语句必须不同。)

您没有说您实际上是如何运行这段代码的,但看起来它实际上并没有被解释为 Python 程序。错误消息来自/usr/bin/print,所以我认为您已经设法以某种方式将其解释为 shell 脚本,并且最后一行的“print”正在运行/usr/bin/print。这显然不是您想要的。

如果您在源文件中执行它,请尝试将以下行放在它的顶部,以告诉 shell 将其作为 Python 程序运行:

#!/usr/bin/env python

或者,使用

运行它
python myfile.py

关于python - 正则表达式中未转义的左大括号已弃用,在正则表达式中通过;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664173/

相关文章:

javascript - Django 表单不显示

python - 查找列表元素的最接近值

python - 新列作为其他列的列表,但没有 nan

function - 本地函数相互调用

php - PHP echo 语句中的无限递归

python - 已结束的程序(Flask)一直将输出发送到 STDOUT?

python - 根据条件获取同一 pandas 数据框中同一列的两个值之间的差异

python - 如何通过python请求POST提交按钮?

java - 为什么 ArrayList 的性能明显优于 LinkedList?

haskell - 是否可以使用有理数创建递归数据类型,例如 -> data Nat = Zero |苏克纳特?