【发布时间】:2022-08-17 23:52:20
【问题描述】:
我对 python 在 Python 中初始化一个新数组需要多少时间感到困惑。
假设我想创建一个长度为 n 的数组并最终用值填充它。
如果我在程序的其他地方已经有一个长度为 n 的数组,那么通过执行以下操作复制数组会更快吗:newArray = oldArray 或者通过执行以下操作创建一个新数组会更有效:newArray = [0 for _ in range(len(oldArray))]
我也尝试过newArray = [0] * len(oldArray),但这似乎是最慢的选择。
作为后续,如果 newArray 中的某些值需要与旧数组相同(3 个值?100 个值?更多?)这如何改变答案?使用不同的数据结构会降低创建时间吗?追加到数组如何适应所有这些?
感谢所有帮助!
-
请注意新数组 = 旧数组做不是拿一份
-
为什么不只测量在您的用例中两者中的哪一个更快?
-
你知道
newArray = oldArray是不是浅拷贝? -
它只是设置 newArray 的引用吗?
-
@ChristopherOjo newArray 将被分配一个对 oldArray 的引用。尝试:newArray = oldArray.copy()
标签: python arrays for-loop data-structures time-complexity