python二维数组分割
时间: 2023-05-24 19:05:08 浏览: 258
Python的二维数组可以使用切片操作进行分割,例如:
```python
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sub_arr1 = arr[:2] # 取前两行
sub_arr2 = [row[:2] for row in arr] # 取每行的前两列
sub_arr3 = [[row[i] for row in arr] for i in range(3)] # 将列变成行
```
这些操作可以生成新的数组,也可以修改原数组。注意,如果要修改原数组,需要使用深拷贝创建新的数组,例如:
```python
import copy
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
sub_arr = copy.deepcopy(arr) # 深拷贝创建新数组
sub_arr[1][1] = 0 # 修改新数组不影响原数组
```
相关问题
python二维数组打印表格
下面是一个简单的例子,展示如何使用Python二维数组打印表格:
```python
table = [['Name', 'Age', 'Gender'],
['John', '25', 'Male'],
['Lisa', '30', 'Female'],
['Bob', '18', 'Male']]
# 打印表格头
print('{:<10} {:<10} {:<10}'.format(table[0][0], table[0][1], table[0][2]))
# 打印分割线
print('-' * 30)
# 打印数据行
for row in table[1:]:
print('{:<10} {:<10} {:<10}'.format(row[0], row[1], row[2]))
```
输出结果:
```
Name Age Gender
------------------------------
John 25 Male
Lisa 30 Female
Bob 18 Male
```
在这个例子中,我们定义了一个二维数组`table`,其中第一行是表格的表头,其余行是数据行。我们使用字符串格式化来打印表格,首先打印表格头,然后打印分割线,最后打印每一行的数据。在格式化字符串中,`<10`表示左对齐并占据10个字符的位置。
python 二维数组 三角剖分插值
二维数组可以用列表嵌套列表的形式来表示,三角剖分插值是指将一个平面区域分割成若干个三角形,然后在每个三角形内进行插值计算。在Python中,可以使用scipy库中的Delaunay函数进行三角剖分,然后使用matplotlib库中的tripcolor函数进行插值绘图。
示例代码:
```python
import numpy as np
from scipy.spatial import Delaunay
import matplotlib.pyplot as plt
# 生成随机点
points = np.random.rand(10, 2)
# 进行三角剖分
tri = Delaunay(points)
# 绘制三角形
plt.triplot(points[:,0], points[:,1], tri.simplices)
plt.plot(points[:,0], points[:,1], 'o')
# 绘制插值图像
x, y = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))
z = np.sin(x*2*np.pi) * np.cos(y*2*np.pi)
interp = tri.linear_interpolator(z)
z_interp = interp(x, y)
plt.tripcolor(x.flatten(), y.flatten(), tri.simplices.copy(), z_interp.flatten(), cmap='viridis')
plt.colorbar()
plt.show()
```