社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

当我运行代码时,Python中会出现一个巨大的错误

Sara Ali • 3 年前 • 1412 次点击  

如果我运行此代码:

import re
mapping = {'gde1': 'a', '4&TW': 'b', 'E#ZB': 'c', 'B0F&': 'd', 'uvRD': 'e', 'M7vr': 'f', 'X$*d': 'g', 'XQ%R': 'h', 'jma+': 'i', 'P9We': 'j', 'xw4O': 'k', 'zT@3': 'l', '4B30': 'm', 'Jc&$': 'n', 'Szb7': 'o', '+yvf': 'p', 'tGgQ': 'q', '$g0Y': 'r', '9y6h': 's', '%Mo&': 't', '*fyQ': 'u', 'jaDZ': 'v', '%FaT': 'w', 'FBn5': 'x', 'sX2s': 'y', 'bFwN': 'z', 'qV0c': 'A', 'Zwg0': 'B', 'v!6!': 'C', 'wKKw': 'D', 'v3xd': 'E', 'oy@u': 'F', 'bu+S': 'G', '4Sh2': 'H', '6drQ': 'I', 'oQ#w': 'J', '555k': 'K', 'G$d3': 'L', 'AuJ3': 'M', 'XGm+': 'N', 'aqs3': 'O', '9Tvb': 'P', 'H%42': 'Q', 'g8E+': 'R', 'kwgO': 'S', '86+y': 'T', 'bv5e': 'U', 'Hg4b': 'V', '=dsc': 'W', 'B6jk': 'X', '@Av9': 'Y', 'kwPS': 'Z', 'Y1q$': '1', 'bNny': '2', 'mu!R': '3', 'HHRK': '4', 'm$!V': '5', '71D$': '6', 'm6qA': '7', 'o@U4': '8', '#ze1': '9', 'aAM6': '0', 'u7$q': '~', 'jwzQ': ':', 'yw#S': "'", '65BO': '+', 'xAhB': '[', 'X=G+': '\\', 'EXa7': '@', 'WpX6': '^', 'C#c2': '{', 'C8!y': '%', 'rCEB': '(', 'Ebos': '-', 'VKb!': '"', 'WPOu': '*', '9Ht$': '|', 'ZHo=': ',', 'ZkKY': '&', 'artq': '<', 'nS9m': '`', 'k!vX': '}', 'j1f6': '.', 'VpV%': '_', '5u*$': '=', '8rjs': ']', 'JJc!': '!', 'SW%$': '>', '#g@G': ';', '#xF&': '?', '$E60': '#', 'U7Su': '$', 'g8FA': ')', '4o4s': '/'}
string = 'gde1'
choices = f'({"|".join(mapping)})'
result = ''.join(mapping.get(s, s) for s in re.split(choices, string))
print(result)

该代码应该输出“a”。

但它给了我一个错误信息:

Traceback (most recent call last):
  File "c:\EDS\fatstrst.py", line 5, in <module>
    result = ''.join(mapping.get(s, s) for s in re.split(choices, string))
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\re.py", line 231, in split
    return _compile(pattern, flags).split(string, maxsplit)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\re.py", line 304, in _compile
    p = sre_compile.compile(pattern, flags)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_parse.py", line 950, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_parse.py", line 443, in _parse_sub        
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_parse.py", line 836, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_parse.py", line 443, in _parse_sub        
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3312.0_x64__qbz5n2kfra8p0\lib\sre_parse.py", line 668, in _parse
    raise source.error("nothing to repeat",
re.error: nothing to repeat at position 33

但当我缩短 mapping = 致:

mapping = {'gde1': 'a', '4&TW': 'b', 'E#ZB': 'c', 'B0F&': 'd'}

它工作正常,输出稳定 a .

有人知道怎么做吗?任何帮助都将不胜感激。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133778
 
1412 次点击  
文章 [ 2 ]  |  最新文章 3 年前