【问题标题】:How to turn a string into a list in python?如何在python中将字符串转换为列表?
【发布时间】:2014-02-04 17:22:46
【问题描述】:
l = "['Hello', 'my', 'name', 'is', 'Apple']"
l1 = ['Hello', 'my', 'name', 'is', 'Apple']

type(l) 返回str 但我希望它是一个列表,就像l1 一样。

如何将该字符串转换为通用列表?

【问题讨论】:

    标签: python string list


    【解决方案1】:

    ast 模块有一个 literal_eval 可以满足您的需求

    import ast
    l = "['Hello', 'my', 'name', 'is', 'Apple']"
    l1 = ast.literal_eval(l)
    

    输出:

    ['Hello', 'my', 'name', 'is', 'Apple']
    

    docs

    【讨论】:

    • 很高兴看到这个问题的第一个答案是literal_eval,而不是普通的危险eval
    • @sweeneyrod 他们应该将 eval 重命名为 evil
    【解决方案2】:

    ast.literal_eval 是一个不错的方法。对于那些喜欢字符串操作的人,另一个选择是:

    l1 = [x[1:-1] for x in l[1:-1].split(', ')]
    

    【讨论】:

      猜你喜欢
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2016-11-09
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多