gpt4 book ai didi

Python:将嵌套列表作为输入?

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:42 25 4
gpt4 key购买 nike

执行以下操作的最佳方法是什么?

我想让用户输入一个嵌套列表,如下所示:

grid = input('Enter grid')

用户将输入这样的网格:

[['', 'X', 'O'], ['X', 'O', ''], ['X', '', 'X']]

问题是我将这个输入传递给一个期望输入是嵌套列表的函数。当获取输入网格将是一个字符串时,它将不适用于我的函数。还有如果我type convert grid to a list using list() 它生成一个包含每个网格章程的列表,即 [,[,','

将上面表格中的输入转换为嵌套列表以传递给函数的好方法是什么?我希望嵌套列表的输入值就好像它是由程序本身设置的一样。

谢谢

最佳答案

正如 inspectorG4dget 评论的那样,使用 ast.literal_eval :

>>> import ast
>>> ast.literal_eval("[['', 'X', 'O'], ['X', 'O', ''], ['X', '', 'X']]")
[['', 'X', 'O'], ['X', 'O', ''], ['X', '', 'X']]

要过滤掉无效输入,捕获 SyntaxError :

>>> ast.literal_eval("[['', 'X', 'O'], ['X', 'O', ''], ['X', ', 'X']]")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/ast.py", line 46, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/usr/lib/python3.4/ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
[['', 'X', 'O'], ['X', 'O', ''], ['X', ', 'X']]
^
SyntaxError: invalid syntax

关于Python:将嵌套列表作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com