【问题标题】:Issue in character identifier for abs() in map() Python [duplicate]map()Python中abs()的字符标识符问题[重复]
【发布时间】:2019-10-27 07:02:39
【问题描述】:

这里只有一个问题,

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

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

【问题讨论】:

    标签: python dictionary character identifier


    【解决方案1】:

    你得到了 Unicode minus sign ("−"; U+2212) 而不是 Python(和大多数其他编程语言)识别的 hyphen-minus ("-"; U+002D)。

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

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

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

    【讨论】:

      【解决方案2】:

      我认为您错了或错误地复制了示例,发生的情况是看起来像负号 (-) 的字符是另一个字符,并且读起来好像不是那个负号 在这里我把它纠正过来。

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

      祝你好运!

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      • 2020-12-26
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多