我有数组:
somearray = np.array([])
我想在位置 10 上设置数组以具有True
价值
somearray[10]= True
我想在第 10 点添加,我希望 0-9 点什么都没有。我怎样才能做到这一点,而索引不会越界?
也许 Python 中最接近这种 Javascript 数组行为的是字典。这是一个散列映射。
defaultdict
是一个实现默认值的字典。
In [1]: from collections import defaultdict
In [2]: arr = defaultdict(bool)
插入几个True
元素:
In [3]: arr[10] = True
In [4]: arr
Out[4]: defaultdict(bool, {10: True})
In [5]: arr[20] = True
In [6]: arr
Out[6]: defaultdict(bool, {10: True, 20: True})
获取其他一些元素会返回default
(False
在这种情况下),并将其添加到字典中:
In [7]: arr[3]
Out[7]: False
In [8]: arr
Out[8]: defaultdict(bool, {3: False, 10: True, 20: True})
defaultdict(list)
是一种在字典中的列表中收集值的便捷方式。defaultdict(int)
实现一个计数器。
numpy
数组具有固定大小,并指定dtype
:
In [21]: x = np.zeros(8, bool)
In [22]: x[5]=True
In [23]: x
Out[23]: array([False, False, False, False, False, True, False, False])
您可以通过与其他内容连接来创建一个新数组(忘记np.append
函数)。
Python 列表可以初始化为空大小,alist= []
,并且可以随着append
或增长extend
。但是你不能通过索引来增加列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句