我有一个列表,不能使用numpy(来自黑客排名问题)。我想在另一个数组中存储一个包含元素索引的数组(以启用排序)。
当我执行二进制搜索并找到不是我的目标的其他东西时,此数组将被填充。
例如,当列表为空时如何填充列表的第十个位置(前9个可以是垃圾,如果需要的话)。
答案 0 :(得分:1)
不能。 Python列表并不稀疏。
但是,您可以使用带有整数键的字典:
>>> faux_list = {10: 'foo'}
>>> faux_list[10]
'foo'
或者您可以用your answer中的伪数据填充列表。
答案 1 :(得分:0)
我可以将列表初始化为
[-1 for _ in range(11)]
如果我无法用-1填充数组,那么
[None for _ in range(11)]
或
[np.nan for _ in range(11)]
或
[float('inf') for _ in range(11)]