【问题标题】:convert a text list into list on python [duplicate]将文本列表转换为python上的列表[重复]
【发布时间】:2019-10-25 09:03:39
【问题描述】:

我正在阅读在转换时丢失格式的列表,因此原始列表现在看起来像:

my_list = '[[-0.2226099967956543, 0.2235500067472458, -0.2384900003671646, 0.14377999305725098]]'

为此,我正在执行以下操作:

my_list = my_list.replace('[','').replace('[','').split()
type(my_list)
list

这可行,但对我来说看起来不是很pythonic。那是更好的选择吗?

【问题讨论】:

    标签: python list


    【解决方案1】:

    使用json.loads,另外,我在my_list 的末尾添加了一个额外的括号,因为它缺少一个括号:

    >>> import json
    >>> my_list = '[[-0.2226099967956543, 0.2235500067472458, -0.2384900003671646, 0.14377999305725098]]'
    >>> json.loads(my_list)
    [[-0.2226099967956543, 0.2235500067472458, -0.2384900003671646, 0.14377999305725098]]
    >>> type(json.loads(my_list))
    <class 'list'>
    >>> 
    

    【讨论】:

    • 请注意,有问题的字符串列表缺少(故意?)括号。
    • @TrebledJ 我加了一个...
    【解决方案2】:

    所以我们有ast

    my_list = '[-0.2226099967956543, 0.2235500067472458, -0.2384900003671646, 0.14377999305725098]'
    import ast
    ast.literal_eval(my_list)
    Out[567]: 
    [-0.2226099967956543,
     0.2235500067472458,
     -0.2384900003671646,
     0.14377999305725098]
    

    【讨论】:

    • 哈哈,幸运的是我们都有不同的解决方案:P,我在发帖时没有看到你的...我希望你没有使用json.loads:P
    • @U9-Forward 啊 :-) 不错的解决方案
    猜你喜欢
    • 2017-03-24
    • 2017-09-10
    • 2014-07-14
    • 1970-01-01
    • 2016-08-10
    • 2014-04-03
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    相关资源
    最近更新 更多