簡體   English   中英

python3 中 list(dict.keys()) 的時間復雜度是多少

[英]What will be the time complexity of list(dict.keys()) in python3

我正在使用 list(dict.keys()) 解決一個算法問題,它比 OrderedDict dict.popitem(0) 花費更多的時間我知道它會返回生成器類型 object 我們可以遍歷它並獲取每個元素,如 range在列表中。

當您創建一個由所有元素組成的新列表時,時間復雜度為O(n)

如果您只想要第一個,我建議您使用next(iter(dict))next(iter(dict.items())) ,這將分別在O(1)處為您帶來第一個鍵或(key, value)對.

您可以捕獲StopIteration以確保 dict 不為空或從next()返回默認值:

>>> def take_first(d):
...   return next(iter(d), None)
...
>>> take_first({"a": 1, "b": 2})
'a'
>>> take_first({})
>>> # (None)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM