map() 中 abs() 的字符标识符问题 Python

Issue in character identifier for abs() in map() Python

这里只有一个问题,

list(map(abs, [−1, −2, 0, 1, 2]))
                ^
invalid character in identifier

abs 应该以正确的方式执行,但是 map 有问题。那么,如何解决这个问题,如果你知道方法,请回答我的问题。谢谢 :) 对不起,如果这个问题已经 post 之前:)

您已获得 Python(以及大多数其他编程语言)可识别的 Unicode minus sign ("−"; U+2212) instead of the hyphen-minus(“-”;U+002D)。

只需将减号替换为常规破折号,问题就会消失。

如果您需要对从其他地方复制的大量数据执行此操作,则在解析数据之前进行简单的字符串替换(类似于 中的解决方案)应该可以完成这项工作:

with open(infilename, 'r') as infile, open(outfilename, 'w') as outfile:
    for line in infile:
        outfile.write(line.replace('\N{MINUS SIGN}', '-'))

我认为你错了或抄错了例子,结果是看起来像负号 (-) 的字符是另一个字符,读起来就好像它不是那个负号 在这里,我将其更正。

list(map(abs, [-1, -2, 0, 1, 2]))

祝你好运!