如何将字符串转换为字典或列表?

2023-11-21

我有诸如以下的字符串:

'[1, 2, 3]'

and

"{'a': 1, 'b': 2}"

如何将它们转换为列表/字典?

有人提到ast.literal_eval or eval可以解析转换为列表/字典的字符串。

有什么区别ast.literal_eval and eval?


ast.literal_eval解析“抽象语法树”。你几乎有 json 在那里,你可以使用它json.loads,但是您需要双引号,而不是单引号,字典键才有效。

import ast

result = ast.literal_eval("{'a': 1, 'b': 2}")
assert type(result) is dict

result = ast.literal_eval("[1, 2, 3]")
assert type(result) is list

作为一个优点,这没有任何风险eval,因为它不涉及评估函数的业务。eval("subprocess.call(['sudo', 'rm', '-rf', '/'])")可以删除你的根目录,但是ast.literal_eval("subprocess.call(['sudo', 'rm', '-rf', '/'])")失败是可以预见的,但文件系统完好无损。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将字符串转换为字典或列表? 的相关文章

  • BeautifulSoup 不适用于某些网站

    我有这个脚本 import urrlib2 from bs4 import BeautifulSoup url http www shoptop ru page urllib2 urlopen url read soup Beautiful
  • pandas:使用运算符链接过滤 DataFrame 的行

    大多数业务在pandas可以通过操作符链接来完成 groupby aggregate apply等 但我发现过滤行的唯一方法是通过普通的括号索引 df filtered df df column value 这没有吸引力 因为它需要我分配d
  • Plotly - 不同颜色的表面

    我正在尝试在 Plotly for Python 中绘制多个曲面 每个曲面具有不同的颜色 具体来说 表面显示了在相空间中不同点采取行动的预测奖励函数 由于我在每个点都有多个可能的操作 因此每个点都是不同的表面 我想对每个表面进行独特的着色
  • PySerial 和多个 Python 安装出现问题

    我的 Windows 7 计算机上有 Python 2 4 4 和 3 1 3 我想使用 PySerial 听说是内置的 所以我尝试了一下import serial在两个版本中 两者都造成了Import Error 然后我从以下位置下载了w
  • Pandas Dataframe.to_csv 小数=',' 不起作用

    在 Python 中 我正在将 Pandas Dataframe 写入 csv 文件 并希望将小数分隔符更改为逗号 像这样 results to csv D Data Kaeashi BigData ProcessMining Voorbe
  • seaborn 未在定义的子图中绘制

    我正在尝试用这段代码并排绘制两个图表 fig ax1 ax2 plt subplots 1 2 sns displot x X train Age hue y train ax ax1 sns displot x X train Fare
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • Django:上传前调整图像大小

    我想调整图像大小 Pillow 在上传之前 我在下面编写了代码但不起作用 并得到错误 myapp list 处的属性错误 坚定的 请求方式 POST 请求网址 http 127 0 0 1 8000 myapp list http 127
  • SharePoint:如何从列表模板创建新列表?

    我已经根据问题列表创建了一个列表模板 并将其保存在列表模板库中 现在如何基于此模板创建新列表 string internalName MyListTemplateName SPListTemplate t null foreach SPLi
  • 仅打印字符串中的元音

    我是Python新手 我正在尝试打印字符串中的所有元音 因此 如果有人输入 嘿 一切都好吗 所有元音都需要打印 但我不知道怎么做 所以这不是计算元音 而是打印元音 现在我已经得到了这个 sentence input Enter your s
  • VS Code Pylance 不突出显示变量和模块

    我正在使用带有 Python 和 Pylance 扩展的 VS Code 我遇到的问题是 Pylance 扩展没有对模块和数据框等内容进行语法突出显示 我希望顶部的模块为绿色 df 变量为蓝色 我正在使用默认的深色 颜色主题 这是我的 VS
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • Python 中的“finally”总是执行吗?

    对于Python中任何可能的try finally块 是否保证finally块总是会被执行吗 例如 假设我在except block try 1 0 except ZeroDivisionError return finally print
  • 将Json字符串映射到java中的map或hashmap字段

    假设我从服务器返回了以下 JSON 字符串 response imageInstances one id 1 url ONE two id 2 url TWO 杰克逊代码大厦 JsonProperty 我怎样才能得到HashMap对象出来了
  • 通过 Tweepy 在 Twitter 上更新状态时的回溯

    我一直在尝试使用 Twitter 在 Twitter 上发布我的 Rpi 读数tweepy 但首先我想检查一下是否tweepy本来可以正常工作 但事实并非如此 我正确安装了软件包 但是当我尝试运行简单的代码来发布某些内容时 出现错误 是的
  • 带有 graphviz_layout 的水平树

    在Python中 使用networkx 我可以用以下方法绘制垂直树 g nx balanced tree 2 4 pos nx graphviz layout g prog dot nx draw g pos labels b all no
  • 从 s3 获取 ogg 轨道的长度而不下载整个文件

    如何在不下载整个文件的情况下获取 ogg 文件的播放长度 我知道这是可能的 因为 HTML5 标签和 VLC 都可以在加载 URL 后立即显示整个播放长度 而无需下载整个文件 有标题或我可以阅读的内容吗 也许甚至是比特率 我可以将其除以文件
  • 每次 apache 重新启动时,flask-login 会话都会被破坏

    我正在使用烧瓶登录https github com maxcountryman flask login https github com maxcountryman flask login和领域记住登录用户 http packages py
  • pylint:忽略 rcfile 中的多个

    在我的 django 项目中 我使用的是外部编写的应用程序 但编写得很糟糕 现在我想从我的 pylint 报告中忽略这个应用程序 但是我无法让 pylint 忽略它 Pylint 已经忽略了南方的迁移 如下所示 MASTER ignore
  • Python 线程与 Linux 中的多处理

    基于此question https stackoverflow com questions 807506 threads vs processes in linux我假设创建新流程应该几乎和创造新线程在Linux中 然而 很少的测试显示出截

随机推荐

  • 如何查询内存中的一个DataTable来填充另一个数据表

    我正在尝试更新 Microsoft 报告 它的作用是写出有多少客户被排除在转换过程之外以及原因 目前 该程序将所有已删除的客户端写回到服务器 然后查询它以将结果填充到特殊表中 这是当前的查询 SELECT DeletedClients Re
  • 不同级别logback不同文件

    我的 logback xml 中有这个附加程序
  • 为什么我收到错误无法等待“void”?

    private Queue
  • 一个或多个实体的验证失败。有关更多详细信息,请参阅“EntityValidationErrors”属性[重复]

    这个问题在这里已经有答案了 我在使用代码优先方法为数据库播种时遇到此错误 一个或多个实体的验证失败 有关更多详细信息 请参阅 EntityValidationErrors 属性 说实话我不知道如何检查验证错误的内容 Visual Studi
  • 双向多对多关系中的循环引用

    我的实体中存在双向多对多关系 请参阅下面的示例 public class Collaboration JsonManagedReference COLLABORATION TAG private Set
  • Meteor 通过邮件查询其他用户

    我正在尝试使用以下命令通过电子邮件查询用户Meteor users findOne emails address email protected 它在 mongo shell 中工作 但在 Meteor 中返回未定义 有任何想法吗 UPDA
  • 固定元素在 Chrome 中消失

    当在我构建的网站上滚动时 使用 CSS 属性position fixed按预期工作 将导航栏保留在页面的最顶部 然而 在 Chrome 中 如果您使用导航栏中的链接 有时消失 通常 您单击的项目仍然可见 但并非总是如此 有时整个事情都会消失
  • AVPlayer 顶部绘制按钮

    我必须在视频顶部绘制标签或按钮relay next previous leave comment 视频列表有它 一旦用户从表中选择一项 就需要播放 播放器播放完成后 这些按钮或标签应该出现在视频顶部 这是我的代码 comPlayerCont
  • 在 LINQ 查询中使用 DateTime?.Value.TimeOfDay

    我正在尝试在 ASP NET MVC 3 上使用 LINQ 进行查询 我有一个模型 我们称之为事件 此 Event 对象有一个 Date 属性 即 DateTime 我想要的是获取 2 个时间跨度之间的事件 现在我的代码如下所示 TimeS
  • 对 3 个具有关系的实体进行建模

    假设我们的环境中有三个实体 Teacher Student and Course 每位教师拥有 教授 1 门或以上课程 且每门课程由 0 名或以上教师提供 每个学生已选修 1 门或多门课程 每门课程由 0 名或更多学生选修 每个教师有 0
  • 使用 AndroidHttpClient 的 SSL/TLS 协议和密码套件

    编辑 如果我原来的帖子措辞不好 我深表歉意 这导致了一些混乱 表现为对原始帖子的评论 那么让我再试一次 我从一个问题开始 我想解决 Android 上的问题 但不知道如何解决 我花了很多时间在网上寻找解决方案 但没有发现任何关于这个问题的讨
  • 如何使用 CMake 链接到 C 数学库?

    我如何添加math库到我的 CMake 文件 这post参考文献添加一个目标链接库 但我对 C An 不太熟悉附加帖子 有人可以举个例子吗 文档我正在使用 C 并且收到一个undefined reference to pow 使用数学标题的
  • 同一页面上具有相同选项的多个传单地图

    我对 leaflet js 还很陌生 我试图弄清楚如何将具有相同选项和图层集的相同地图分配给不同的 HTML 容器 而不必每次都删除并添加新的容器 我曾经处理 Open Layers 2 13 并且我有 map render div 每次我
  • phpmyadmin:如何取消导入大数据库的时间限制

    如何删除 phpmyadmin 中导入操作的时间限制 由于限制 我无法上传大数据库 我必须再次登录数据库 Thanks 我使用MySQLBigDump 昨天对我来说效果很好
  • 带注释的控制器中的动态命令类

    从 Spring MVC 3 开始 AbstractCommandController已弃用 因此您不能再在中指定命令类setCommandClass 相反 您可以在请求处理程序的参数列表中对命令类进行硬编码 例如 RequestMappi
  • 如何合并/扩展不同 JAR 中的持久性单元?

    我将 JPA 持久性用于我的数据模型 并使用 Eclipselink 作为持久性提供程序 我有一个模块化 OSGi 应用程序 其中一个模块包含标准数据模型和一个持久单元 该单元自动包含包中的所有实体 持久性提供程序位于另一个模块中 该模块运
  • MySQL 中的交集

    我有两个表 记录和数据 记录有多个字段 名字 姓氏等 这些字段中的每一个都是存储实际值的数据表的外键 我需要搜索多个记录字段 下面是一个使用 INTERSECT 的示例查询 但我需要一个可以在 MySQL 中运行的查询 SELECT rec
  • 从 Android Activity 调用 javascript 函数

    我想从 android 活动调用 javascript 函数 但它似乎不起作用 我使用了 android webview 函数 webview loadUrl javascript function 这是我的安卓代码 package com
  • 在 Delphi XE 中构建事件宏

    根据Delphi的帮助文件 当我打开对话框将构建事件添加到项目选项时 该对话框应显示我可以在构建事件的命令行上使用的宏 占位符 列表 当我在 Delphi XE 中尝试此操作时 宏列表为空 帮助文件也没有说明哪些宏可用 我可以找到 那么 哪
  • 如何将字符串转换为字典或列表?

    我有诸如以下的字符串 1 2 3 and a 1 b 2 如何将它们转换为列表 字典 有人提到ast literal eval or eval可以解析转换为列表 字典的字符串 有什么区别ast literal eval and eval a