转换格式化为字符串的数组-Python

发布于 2021-01-29 15:00:31

我正在通过这样的套接字接收字符串

"['[0,0,0]','[0,0,0]']"

我想将其转换回数组。我尝试使用

received.split(",")

但是它将数组内的数组分割开。

我将如何将字符串转换为数组?

关注者
0
被浏览
96
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    >>> import ast
    >>> s = "['[0,0,0]','[0,0,0]']"
    >>> s = ast.literal_eval(s)
    >>> s
    ['[0,0,0]', '[0,0,0]']
    >>> s = [ast.literal_eval(sub) for sub in s]
    >>> s
    [[0, 0, 0], [0, 0, 0]]
    

    使用literal_evaleval。从文档:

    31.2。ast —抽象语法树¶

    ast.literal_eval(node_or_string)

    安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。

    这可用于安全地评估包含来自不受信任来源的Python表达式的字符串,而无需自己解析值。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看