
[英]What is the time complexity of converting a Python dict.keys() in Set?
[英]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.