Python 里有什么办法让字符串的转成数组呢 如下

2018 年 2 月 20 日
 jakeyfly

'[1,2,3,4,]' 怎么把他变成数组啊 [1,2,3,4]

想了好久 T T

5556 次点击
所在节点    问与答
17 条回复
tomczhen
2018 年 2 月 20 日
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
lhx2008
2018 年 2 月 20 日
json 解析
snal123
2018 年 2 月 20 日
split 然后 join
benzzz
2018 年 2 月 20 日
albertofwb
2018 年 2 月 20 日
srlp
2018 年 2 月 20 日
如果是 [1,2,3,4] (没有最后一个逗号)的话可以直接 json.loads()

纯数字的话,可以 import re 然后

re.findall(r'\d+', '[1,2,3,4,]')
tux
2018 年 2 月 20 日
正则?
TtiGeR
2018 年 2 月 20 日
如果数据是干净的(不是用户输入存在 injection 的可能)的话 eval()不是挺好么
di94sh
2018 年 2 月 20 日
'[1,2,3,4]'.strip('[]').split(',')
jackyzy823
2018 年 2 月 20 日
import ast; ast.literal_eval("[1,2,3,4]")
laike9m
2018 年 2 月 20 日
eval 正解
l1093178
2018 年 2 月 20 日
eval 会有安全性风险,ast.literal_eval 正解
Eds1995
2018 年 2 月 21 日
用 eval 的人好可怕,楼上正解:import ast ast.literal_eval
jakeyfly
2018 年 2 月 21 日
@Eds1995 为啥可怕啊
Eds1995
2018 年 2 月 21 日
@jakeyfly Eval 是邪恶的
jakeyfly
2018 年 2 月 21 日
@Eds1995 大佬 听不懂啊 求指导
izoabr
2018 年 2 月 22 日
>>> t = '[1,2,3,4,]'
>>> eval(t)
[1, 2, 3, 4]
>>>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX