Python:采用嵌套列表作为输入?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python:采用嵌套列表作为输入?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1177字,纯文字阅读大概需要2分钟。
内容图文
进行以下操作的最佳方法是什么?
我想让用户输入嵌套列表,如下所示:
grid = input('Enter grid')
用户将输入这样的网格:
[['', 'X', 'O'], ['X', 'O', ''], ['X', '', 'X']]
问题是我正在将此输入传递给期望输入为嵌套列表的函数.
当获取输入网格时,将是一个字符串,该字符串将无法与我的函数一起使用.如果我也
使用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:采用嵌套列表作为输入?全部内容,希望文章能够帮你解决Python:采用嵌套列表作为输入?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。