Python 数组和列表
Python Array and a List
为什么 python 有特定的数组模块?
我知道数组只能保存一种数据类型,并且 Python 有一个数组模块,但为什么 python 有一个特定的数组模块,因为如果我们愿意,我们可以创建一个列表相同的数据类型。
那么在 python 中拥有数组模块的实际优势是什么?
这是一个数组:
from array import *
a = array("i", [5, 8])
print(a)
我可以用列表做同样的事情:
a = [5, 8]
print(a)
python 模块阵列有什么优势?
我认为这解释得很好。 https://learnpython.com/blog/python-array-vs-list/
使用数组而不是列表的一些关键原因:
- 数组更紧凑地存储信息,使其更加高效和强大。
- 数组适合数值运算。
使用列表而不是数组的一些关键原因:
- 列表非常适合将多种数据类型组合在一起。
- 列表是可变的,这意味着它们可以更改。
虽然列表和数组可能具有相似的特征,但它们用于不同的情况。
对于大多数情况,列表就可以了。 Python 中数组的概念可能会让来自其他编程语言背景的人感到困惑。
该数组模块是 C 数组的包装器,只能用于特定类型,而列表可用于任何对象。
如果您不从事数值计算,也不使用 scipy 和 numpy 等科学软件包,我认为没有理由使用 array 模块
列表比较好,但是如果要存储大量数据,可以使用数组。
因为数组会更紧凑高效地存储你的数据
Python中的列表是指链表,其中一个成员存储也存储列表的下一个成员所在的位置。基本上,member1 存储 member2 在内存中的位置,member2 存储 member3 的位置,依此类推。
虽然数组是一大块连续内存。它与从第一个成员跳转到其他成员的数据类型相同,需要知道它们在内存中的确切差距,这只有在数据类型相同或大小相同时才有可能。具有不同数据类型的数组将非常低效。
从列表中添加或删除 elements/members 更容易,但解析数组更快。这是一个权衡。
Python主要用于数据科学,这意味着元素被频繁地添加和删除,所以数组是隐藏在模块中的第二选择。
顺便说一句,没有人使用数组模块,只使用 numpy。
为什么 python 有特定的数组模块?
我知道数组只能保存一种数据类型,并且 Python 有一个数组模块,但为什么 python 有一个特定的数组模块,因为如果我们愿意,我们可以创建一个列表相同的数据类型。
那么在 python 中拥有数组模块的实际优势是什么?
这是一个数组:
from array import *
a = array("i", [5, 8])
print(a)
我可以用列表做同样的事情:
a = [5, 8]
print(a)
python 模块阵列有什么优势?
我认为这解释得很好。 https://learnpython.com/blog/python-array-vs-list/
使用数组而不是列表的一些关键原因:
- 数组更紧凑地存储信息,使其更加高效和强大。
- 数组适合数值运算。
使用列表而不是数组的一些关键原因:
- 列表非常适合将多种数据类型组合在一起。
- 列表是可变的,这意味着它们可以更改。
虽然列表和数组可能具有相似的特征,但它们用于不同的情况。
对于大多数情况,列表就可以了。 Python 中数组的概念可能会让来自其他编程语言背景的人感到困惑。
该数组模块是 C 数组的包装器,只能用于特定类型,而列表可用于任何对象。
如果您不从事数值计算,也不使用 scipy 和 numpy 等科学软件包,我认为没有理由使用 array 模块
列表比较好,但是如果要存储大量数据,可以使用数组。 因为数组会更紧凑高效地存储你的数据
Python中的列表是指链表,其中一个成员存储也存储列表的下一个成员所在的位置。基本上,member1 存储 member2 在内存中的位置,member2 存储 member3 的位置,依此类推。
虽然数组是一大块连续内存。它与从第一个成员跳转到其他成员的数据类型相同,需要知道它们在内存中的确切差距,这只有在数据类型相同或大小相同时才有可能。具有不同数据类型的数组将非常低效。
从列表中添加或删除 elements/members 更容易,但解析数组更快。这是一个权衡。
Python主要用于数据科学,这意味着元素被频繁地添加和删除,所以数组是隐藏在模块中的第二选择。
顺便说一句,没有人使用数组模块,只使用 numpy。