【问题标题】:Python - Convert string to list with same structurePython - 将字符串转换为具有相同结构的列表
【发布时间】:2018-02-25 23:07:42
【问题描述】:

我有一个 Python 字符串 (str),即"['Fish & Chips', 'Fast Food', 'Restaurants']"

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

【问题讨论】:

    标签: python-3.x


    【解决方案1】:

    编辑:请参阅snakecharmerb's 以获得eval() 的更安全替代方案。


    您似乎正在寻找eval(),它接受一个字符串并将其计算为 Python 表达式:

    s = "['Fish & Chips', 'Fast Food', 'Restaurants']"
    
    eval(s)
    # ['Fish & Chips', 'Fast Food', 'Restaurants']
    
    type(eval(s))
    # list
    

    【讨论】:

      【解决方案2】:

      虽然eval 有效,但如果输入数据不受信任,则使用safer ast.literal_eval

      >>> import ast
      >>> s = "['Fish & Chips', 'Fast Food', 'Restaurants']"
      >>> ast.literal_eval(s)
      ['Fish & Chips', 'Fast Food', 'Restaurants']
      

      【讨论】:

        猜你喜欢
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2019-11-18
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多