Python将字符串'[[1,2,3],[111,222,333]]'转化成二维数组
时间: 2023-11-30 11:56:37 浏览: 133
可以使用eval()函数将字符串转化成对应的Python对象,如下所示:
```
string = '[[1,2,3],[111,222,333]]'
array = eval(string)
print(array)
```
输出结果为:
```
[[1, 2, 3], [111, 222, 333]]
```
注意:使用eval()函数需要谨慎,因为它可以执行任何字符串作为Python代码,存在安全隐患。
相关问题
python 将字符串转化成二维数组
可以使用字符串的split()方法将字符串按行分割,然后再使用嵌套的列表推导式将每行的元素按照空格分割成二维数组。具体实现如下:
```python
string = '1 2 3\n4 5 6\n7 8 9'
# 将字符串按行分割,得到一个列表
lines = string.split('\n')
# 使用嵌套的列表推导式将每行的元素按照空格分割成二维数组
array = [[int(num) for num in line.split()] for line in lines]
# 输出二维数组
print(array)
# 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
上述代码中,首先将字符串按行分割成一个列表,然后使用嵌套的列表推导式遍历这个列表,将每行的元素按照空格分割成一个列表,并将其中的字符串转换成整数。最终得到的就是一个二维数组。
python将二维数组转化为字符串
可以使用内置函数join()和列表解析来将二维数组转换为字符串。以下是一个示例代码:
```python
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
string = '\n'.join([' '.join([str(num) for num in row]) for row in arr])
print(string)
```
输出:
```
1 2 3
4 5 6
7 8 9
```
在这个例子中,首先使用列表解析将每一行转换为一个由数字字符串组成的列表,然后使用join()函数将每一行连接为一个字符串,每一行之间用'\n'分隔。
阅读全文