gpt4 book ai didi

python - Python 中 zip() 的时间复杂度是多少?

转载 作者:太空狗 更新时间:2023-10-29 18:25:04 24 4
gpt4 key购买 nike

如何计算 zip() 的时间复杂度?

testList = [[1,2,3]for _ in range(5)]
zip(*testList)

最佳答案

假设您压缩 N 个可迭代对象。

python 3.x 中,zip 函数本身在 O(1) 时间内运行,因为它只是分配一个特殊的可迭代对象(称为 zip 对象),并且将参数数组分配给内部字段。函数调用本身(在控制到达 zip 之前)是 O(N),因为解释器必须将参数转换为数组。迭代器上的每个后续 next 调用也在 O(N) 中运行。因此耗尽 zip 对象是 O(N*M) 假设 M 是可迭代对象的平均(或最小)长度,不包括可迭代对象本身生成项目的时间(因为它独立于 zip ).

python 2.x 中,zip 函数返回一个列表。该列表必须在调用期间构建,这等同于耗尽前面示例中的迭代器,因此 O(N*M),不包括在压缩迭代中花费的时间。

关于python - Python 中 zip() 的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com