python - 将数组转换为字符串格式 - Python

标签 python arrays string sockets networking

我正在通过套接字接收字符串,如下所示

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

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

received.split(",")

但是它会拆分数组内部的数组。

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

最佳答案

>>> 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 — Abstract Syntax Trees¶

ast.literal_eval(node_or_string)

Safely evaluate an expression node or a string containing a Python expression. The string or node provided may only consist of the following Python literal structures: strings, numbers, tuples, lists, dicts, booleans, and None.

This can be used for safely evaluating strings containing Python expressions from untrusted sources without the need to parse the values oneself.

关于python - 将数组转换为字符串格式 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18416464/

相关文章:

java - ZeroTurnaround Process Executor (zt-exec) 进程在无限循环中等待输入,如何?

python - 如何使用stackoverflow api获取 'user'数据?

c - 在 C 中,像 "a string"[4] 这样的东西究竟意味着什么?

java - 如何在 Android 中将格式化字符串与占位符一起使用?

python - 为什么在 Python OOP 中使用 Getters/Accessors 是(或不是)好的做法?

python - Concat 列名称与第一行的数据,Python 3.6 Dataframe

javascript - 如何找到多重集的所有分区,其中每个部分都有不同的元素?

c++ - 仅使用指针打印出数组中的所有其他字符

javascript - 按升序对数组进行排序,同时消除重复值

c++ - 如何阻止命令接受输入?