【问题标题】:I need to convert a string to a list in python 3, how would I do this? [duplicate]我需要在 python 3 中将字符串转换为列表,我该怎么做? [复制]
【发布时间】:2015-04-20 19:19:26
【问题描述】:

所以我有一个文本文件,其中保存了一个列表,我知道我可以为此使用一些其他对象序列化,但我只是想用一个文本文件来做这件事,为什么不这样做。所以我有一个字符串变量,其中有一个列表,但是如何将字符串转回正常列表。这是我的代码

    #the normal list
    list1 = [1,2,3]

    #changing the list to a string so that it can be written to a text file
    str_list = str(list1)

那么现在我需要什么代码来将列表从字符串更改为普通列表。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    您可以将ast 模块与literal_eval 功能一起使用:

    import ast
    l = ast.literal_eval(s)
    

    json 模块(警告!它仅适用于字符串表示的某些子集,例如数字列表 - 您给出的示例):

    import json
    l = json.loads(s)
    

    【讨论】:

    • s = "['Uh', 'oh']"
    • 是的,字符串表示并不总是有效的 json 语法。虽然它对 OP 测试用例有效。我会澄清答案。
    【解决方案2】:

    你可以使用ast.literal_eval:

    >>> s="[1,2,3]"
    >>> from ast import literal_eval
    >>> literal_eval(s)
    [1, 2, 3]
    

    【讨论】:

      猜你喜欢
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 2023-02-04
      相关资源
      最近更新 更多