python-3.x - 如何正确地将字符串转换为列表
问题描述
我有一个函数将消息作为字符串返回,如下所示:
l = ['["sure","kkk"]', '["sure","ii"]']
我试图"'"
通过迭代删除角色,但它对我不起作用。这是我的代码:
print([item.replace('\'["','"').replace('"]\'','"') for item in l])
有没有更好的方法来做到这一点,因为我想要这样的结果:
l = [["确定","kkk"], ["确定","ii"]]
解决方案
这些是 JSON 编码的字符串,因此您应该为此使用json
API,而不是尝试“自己”解析它:
import json
l = ['["sure","kkk"]', '["sure","ii"]']
l = [json.loads(s) for s in l]
print(l) # [['sure', 'kkk'], ['sure', 'ii']]
也可以用map
而不是列表理解来实现:
l = list(map(json.loads, l))
推荐阅读
- docker-desktop - WSL2 提示包含扩展的 WSL 路径?
- html - 导航栏项目在引导程序上不对齐
- r - 尝试打开 RDS 文件时没有名称“图像”错误
- python - Plotly/Dash 以流畅的动画显示实时数据
- apache-flink - 如何引导具有多个状态的 flink 运算符
- ssh - 如何在 NixOS 中使用 GnuPG 代理设置 SSH 关键字缓存?
- twilio - Twilio 视频:如何在桌面上呈现移动布局
- php - 删除不适用于 PDO SQL 的数组?
- python - 如何从使用 cvxpy 和 CBC 的 python 脚本中使用 pyinstaller 构建 exe?
- c - malloc 与结构以及如何访问结构的 malloc 的内存