使用Jupyter代码证明Python中List 与NumPy array 的不同点
时间: 2023-06-02 10:02:42 浏览: 55
首先,需要导入NumPy库:
```
import numpy as np
```
然后,我们可以创建一个Python List 和一个NumPy array,来比较它们的不同:
```
# 创建一个Python List
py_list = [1, 2, 3, 4, 5]
# 创建一个NumPy array
np_array = np.array([1, 2, 3, 4, 5])
```
1. 数据类型
Python List 可以包含不同类型的数据,如字符串、整数、浮点数等等。而NumPy array 只能包含同一种数据类型。
我们可以使用以下代码检查数据类型:
```
# Python List 的数据类型
print(type(py_list[0]))
# NumPy array 的数据类型
print(type(np_array[0]))
```
输出结果为:
```
<class 'int'>
<class 'numpy.int64'>
```
可以看出,Python List 中的数据类型为整数,而NumPy array 中的数据类型为 numpy.int64。
2. 形状
Python List 可以是任意长度,而NumPy array 的形状必须是固定的。我们可以使用以下代码检查形状:
```
# Python List 的长度
print(len(py_list))
# NumPy array 的形状
print(np_array.shape)
```
输出结果为:
```
5
(5,)
```
可以看出,Python List 的长度为5,而NumPy array 的形状为(5,),表示它是一个一维数组,有5个元素。
3. 运算
NumPy array 支持向量化运算,可以对整个数组进行操作。而Python List 需要循环遍历才能进行操作。
我们可以使用以下代码进行加法运算:
```
# Python List 的加法运算
py_list_sum = []
for i in py_list:
py_list_sum.append(i + 2)
print(py_list_sum)
# NumPy array 的加法运算
np_array_sum = np_array + 2
print(np_array_sum)
```
输出结果为:
```
[3, 4, 5, 6, 7]
[3 4 5 6 7]
```
可以看出,使用Python List 进行加法运算需要循环遍历,而使用NumPy array 可以直接对整个数组进行操作。