我有一個字符串、整數和列表的列表,我們稱之為 listAimport astlistA = "['0', '['0', '0']']我想將其轉換為列表預期的結果是['0', ['0', '0']]當我運行以下代碼將其轉換為列表時:listA = ast.literal_eval(listA)它返回一個語法錯誤>`Traceback (most recent call last): File "e:\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-4-6494c28ce5e6>", line 1, in <module> literal_eval("['0', '['0', '0']']") File "e:\Anaconda3\lib\ast.py", line 46, in literal_eval node_or_string = parse(node_or_string, mode='eval') File "e:\Anaconda3\lib\ast.py", line 35, in parse return compile(source, filename, mode, PyCF_ONLY_AST) File "<unknown>", line 1 ['0', '['0', '0']'] ^SyntaxError: invalid syntax`我哪里出錯了,我該如何解決?另外,我試過了,listA = listA.replace("'", "\')但錯誤是一樣的編輯:(這是形成字符串 listA 的代碼)listA = "['0', '0', 'a']"before = "a"after = ["0", "0"]listA = listA.replace(str(before), str(after))
Python:對列表中的列表使用 AST 時出錯
慕尼黑5688855
2022-06-28 17:15:40