jakeyfly
V2EX  ›  问与答

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

  •  
  •   jakeyfly · Feb 20, 2018 · 5644 views
    This topic created in 3179 days ago, the information mentioned may be changed or developed.

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

    想了好久 T T

    17 replies  •  2018-02-22 00:28:44 +08:00
    tomczhen
    tomczhen
    Feb 20, 2018
    1
    Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
    lhx2008
    lhx2008
    Feb 20, 2018 via Android
    2
    json 解析
    snal123
    snal123
    Feb 20, 2018 via iPhone
    3
    split 然后 join
    benzzz
    benzzz
    Feb 20, 2018 via iPhone
    4
    srlp
    srlp
    Feb 20, 2018
    6
    如果是 [1,2,3,4] (没有最后一个逗号)的话可以直接 json.loads()

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

    re.findall(r'\d+', '[1,2,3,4,]')
    tux
    tux
    Feb 20, 2018
    7
    正则?
    TtiGeR
    TtiGeR
    Feb 20, 2018 via iPhone
    8
    如果数据是干净的(不是用户输入存在 injection 的可能)的话 eval()不是挺好么
    di94sh
    di94sh
    Feb 20, 2018
    9
    '[1,2,3,4]'.strip('[]').split(',')
    jackyzy823
    jackyzy823
    Feb 20, 2018❤️4
    10
    import ast; ast.literal_eval("[1,2,3,4]")
    laike9m
    laike9m
    Feb 20, 2018 via Android
    11
    eval 正解
    l1093178
    l1093178
    Feb 20, 2018
    12
    eval 会有安全性风险,ast.literal_eval 正解
    Eds1995
    Eds1995
    Feb 21, 2018 via Android
    13
    用 eval 的人好可怕,楼上正解:import ast ast.literal_eval
    jakeyfly
    jakeyfly
    OP
    Feb 21, 2018
    14
    @Eds1995 为啥可怕啊
    Eds1995
    Eds1995
    Feb 21, 2018 via Android
    15
    @jakeyfly Eval 是邪恶的
    jakeyfly
    jakeyfly
    OP
    Feb 21, 2018
    16
    @Eds1995 大佬 听不懂啊 求指导
    izoabr
    izoabr
    Feb 22, 2018
    17
    >>> t = '[1,2,3,4,]'
    >>> eval(t)
    [1, 2, 3, 4]
    >>>
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5499 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 108ms · UTC 03:15 · PVG 11:15 · LAX 19:15 · JFK 22:15
    ♥ Do have faith in what you're doing.