[英]what the differences between ndarray and list in python?
上周,我的老师问我们:在存储从 1 到 100 的整数时,使用list和使用ndarray有什么区别。 我以前从未使用过 numpy,所以我在网站上搜索了这个问题。 但是我所有的搜索结果都告诉我,它们只是有尺寸差异。 Ndarray可以存储 N 维数据,而list存储一个。 那不满足我。 是不是真的很简单,只是我想多了,还是没有找到合适的关键字来搜索? 我需要帮助。
有几个区别:
- 您可以将 append 元素添加到列表中,但如果不制作完整副本,则无法更改“numpy.ndarray”的大小。
-列表可以包含所有内容,在 numpy arrays 中,所有元素必须具有相同的类型。
- 在实践中,numpy arrays 对于矢量函数比映射函数到列表更快。
- 我认为修改时间不是问题,但对元素的迭代是。 Numpy arrays 有许多与数组相关的方法(“argmin”、“min”、“sort”等)。
当我需要进行一些数学运算(求和、平均、数组乘法等)并列出何时需要迭代“项目”(字符串、文件等)时,我更喜欢使用 numpy arrays。
我应该改变数字。
当我绘制图片时,我只是将第一行复制了很多次。
每行的数字可以完全不同。
import numpy as np
lol = [[1, 2, 3], [4, 5, 6]]
# `lol` is a list of lists
arr_har = np.array(lol, np.int32)
print(type(arr_har)) # <class 'numpy.ndarray'>
print("BEFORE:")
print(arr_har)
# change the value in row 0 and column 2.
arr_har[0][2] = 999
print("\n\nAFTER arr_har[0][2] = 999:")
print(arr_har)
list
就像一维数组。ndarray
是“n维数组”或“多维数组”的缩写ndarray
list
和 ndarray 之间的区别在于 ndarray 有 2 个或更多维度
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.