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

2023-12-09

处理以下问题的最佳方法是什么?

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

grid = input('Enter grid')

用户将输入如下所示的网格:

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

问题是我将此输入传递给一个期望输入是嵌套列表的函数。 当获取输入网格时,它将是一个不适用于我的函数的字符串。另外如果我 类型将网格转换为列表使用list()它会生成一个包含每个网格宪章的列表,即[,[,','.

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

Thanks


正如检查员G4dget 评论的那样,使用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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:将嵌套列表作为输入? 的相关文章

随机推荐

  • Android如何创建堆栈类型的图像背景

    我正在开发一个应用程序 我需要在其中创建相册并将其显示在 GridView 中 现在我只是在没有任何背景的情况下显示它们 但我需要专辑封面的背景 以便它看起来像一堆照片 背景是这样的 我尝试了这个 但不起作用 首先我创建了一个像这样的单一背
  • 在asp.net MVC中DropDownList设置所选项目

    我注意到在我看来是 ASP NET MVC 中的一个错误 或者只是我做错了什么 我目前使用的是 1 0 所以也许这个问题将在 2 0 版本中得到解决 但无论如何 我们开始吧 当我的视图模型有一个与下拉列表声明的 id 名称相同的属性时 所选
  • 强制 R 将科学记数法写为带上标的 n.nn x 10^-n

    假设我有两个花车 a lt 8 9384920e 24 b lt 0 00293892837 我想在图表上以 10 基科学记数法四舍五入到两位小数显示它们中的任何一个 可能使用paste 但在 10 之后采用上标格式 8 94 x 10 2
  • 如果文件是在过去一小时内创建的,则从 FTP 下载文件

    我需要从 FTP 上的特定文件夹下载文件 但仅限于创建时间在过去一小时内的文件 所以基本上我需要列出该文件夹中的所有文件 然后仅下载时间戳与执行时间相差超过一小时的文件 关于如何解析 FTP 上文件的时间戳有什么想法吗 我无法使用任何第 3
  • 使用 vanilla Javascript 查找具有部分属性的 DOM 元素

    假设我有一个网站 我想使用循环遍历其 DOM 元素的脚本 并指出这些元素的属性包含指定文本的一部分 我成功创建了一个简单的循环 可以找到 DOM 元素的每个所需属性并从中创建数组 现在我想将数组属性值与其所属的 DOM 元素配对 并且还能够
  • Android 锁定全屏

    Android 可以锁定全屏吗 基本上隐藏吐司 隐藏主页 后退 开关 隐藏通知栏 使其从底部或顶部滑动不起作用 致力于一个将从中受益匪浅的想法 我知道这样做很不好 但它针对的是非常年幼的孩子 他们随机点击 拖动 偶尔会意外地将手机语言更改为
  • 如何停止与 canvas imageData 的 alpha 预乘?

    有没有办法停止画布数据的 Alpha 通道的预乘 或者解决方法 我想生成一个图像 在本例中是一些随机的 rgba 值 并将画布保存为图像 在第二步中 我想使用 imageData 将原始图像与生成的图像进行比较 但是由于生成图像中 rgba
  • 何时在 GUI 应用程序中调用 thread.join

    import wx import json import queue from collections import namedtuple import threading class MyDialog wx Frame def init
  • Sublime Text 构建:找不到指定的文件

    我已经通过 Package Control 安装了 CoffeeScript 插件 当我尝试构建 test coffee 时 它 给了我这个 Error 2 The system cannot find the file specified
  • 在 XZ 平面上拖动对象

    我正在开发一个增强现实应用程序 我希望能够在空间中拖动一个对象 我在 SO 中找到的解决方案存在问题 建议使用projectPoint unprojectPoint 是它们沿着XY plane 我试图使用屏幕上的手指移动作为偏移x and
  • npm run script 导致 Windows Script Host 错误

    我尝试使用 npm 来缩小 javascript 这是我的 package json name name1 version 1 0 0 description scripts minifyjs minifyJs minifycss mini
  • 如何阻止 PHP 中的无限递归函数耗尽所有可用内存并最终导致笔记本电脑崩溃?

    我这里有一个简单的无限递归代码
  • 使用 TokenRegex 以所需格式获取输出

    我正在使用 TokensRegex 进行基于规则的实体提取 它运行良好 但我无法以所需的格式获得输出 以下代码片段为我提供了以下句子的输出 本月早些时候 特朗普针对丰田 威胁要对其实施制裁 如果世界上最大的汽车制造商生产卡罗拉 它将收取高额
  • bash 中的浮点除法

    我正在尝试将用户输入的任何数字转换为小数点后两位 例如 What is the total cost in cents 2345 output 23 45 这是我到目前为止的代码 percentage 20 cannot change nu
  • 从 WPF Web 浏览器静默打印 HTML

    我必须从 WPF 中的 WebBrowser 静默打印 HTML 文档 我已经通过该代码不默默地完成了它 mshtml IHTMLDocument2 doc WebBrowser1 Document as mshtml IHTMLDocum
  • 如何将固定功能材质和光照传递给片段着色器?

    我正在向 OpenGL 2 1 GLSL 1 2 应用程序添加顶点和片段着色器 顶点着色器 version 120 void main void gl Position ftransform gl FrontColor gl Color 片
  • 如何为加载项设置默认浏览器

    我正在尝试为我正在使用的 chrome 插件设置默认浏览器 但默认情况下它始终使用 IE 我该如何改变这个 我假设您正在谈论您的加载项生成新的浏览器窗口 弹出窗口的场景 在 Windows 上 这始终是 Internet Explorer
  • HTML 验证和 ASP.NET Webforms

    我正在尝试 HTML 内置验证属性 遇到的第一个困难是验证属性在表单上下文中工作 IE 如果你想验证两个独立的输入 那么你应该将它们放在两个不同的输入中
  • 是否可以覆盖 Local.config 文件中的 appSettings 和 connectionStrings?

    我们目前覆盖appSettings来自每个开发人员的 Local config 文件中的 web config 但是 我们还需要覆盖连接字符串 因此我们可以访问计算机上的本地副本 而 web config 可能会引用生产服务器 我知道您可以
  • Python:将嵌套列表作为输入?

    处理以下问题的最佳方法是什么 我想让用户输入一个嵌套列表 如下所示 grid input Enter grid 用户将输入如下所示的网格 X O X O X X 问题是我将此输入传递给一个期望输入是嵌套列表的函数 当获取输入网格时 它将是一