![](/img/trans.png)
[英]how to use lambda to unpack this list [(a,b),(c,d),…] in python3
[英]Is O((b-a)/c) the time complexity of list[a:b:c] in python3?
根據https://wiki.python.org/moin/TimeComplexity ,列表中“獲取切片”的復雜度為 O(k),k 是所需切片的長度。
如果有step參數,復雜度會變成O(k/step)? (即 O((ba)/c) for list[a:b:c])
肯定是的。 通過索引從列表中獲取值是 O(1)。 通過索引從列表中獲取 k 個項目是 O(k)。 無論您是通過步驟獲取它們還是不使用步驟甚至沒有切片來獲取它們:
l = list(range(10))
l1 = l[1:6:2]
l2 = [l[1], l[3], l[5]]
l3 = [l[i] for i in range(1,6,2)]
它們都是 O(元素數)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.