首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字符串转换为列表?

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

Stack Overflow用户
提问于 2022-09-11 21:30:23
回答 3查看 62关注 0票数 1

我用的是蟒蛇。我这里有个案子。

从我的api。下面的键和值即将到来。

代码语言:javascript
复制
games : ["['football','cricket']"]

现在,我想从即将到来的游戏中获得足球和板球的价值,并将其存储在python列表中。

预期产出:

代码语言:javascript
复制
print(games) ==> ["football","circket"]
print(type(games))  ==> <class list>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-09-11 21:40:17

也许ast.literal_eval函数在这里是有用的。只要将字符串传递到函数中,就会返回一个字符串列表。

这将比试图操作字符串更健壮,因为函数的设计目的是将Python的关键数据结构作为字符串;执行一些验证,以确保字符串不是恶意的,并输出相关的对象。

例如:

代码语言:javascript
复制
import ast

games = ["['football','cricket']"]

ast.literal_eval(games[0])

输出:

代码语言:javascript
复制
['football','cricket']
票数 4
EN

Stack Overflow用户

发布于 2022-09-11 21:38:52

这应该能行

代码语言:javascript
复制
a = ["['football','cricket']"]
out = [val.strip("'") for val in a[0].strip("[|]").split(",")]
print(out)
代码语言:javascript
复制
['football', 'cricket']
票数 1
EN

Stack Overflow用户

发布于 2022-09-11 21:49:51

我发现api不太可能发送非json字符串。由于单引号,这个字符串不是json。如果将它们转换为双引号,则有一个有效的json。

代码语言:javascript
复制
list_games = json.loads(games[0].replace("'",'"'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73682757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档