我正在嘗試使用鍵從字典中獲取鍵值項,而不是僅獲取值。我知道我可以做類似的事情
foo = {"bar":"baz", "hello":"world"}
some_item = {"bar": foo.get("bar")}
但是在這里我需要輸入兩次密鑰,這似乎有點多余。有沒有一些直接的方法來獲取 key 的鍵值對bar?就像是
foo.get_item("bar")
>>> {"bar": "baz"}
uj5u.com熱心網友回復:
一種或另一種方式,您需要系結"bar"到一個變數。
>>> foo = {"bar":"baz", "hello":"world"}
>>> (lambda k="bar": {k: foo[k]})()
{'bar': 'baz'}
要么:
>>> k = "bar"
>>> {k: foo[k]}
{'bar': 'baz'}
要么:
>>> def item(d, k):
... return {k: d[k]}
...
>>> item(foo, "bar")
{'bar': 'baz'}
uj5u.com熱心網友回復:
可以擴展dict以創建自己的方法。如果您是首先創建初始字典的人,這可能會很有用。
class MyDict(dict):
def fetch(self, key):
return {key:self.get(key)}
缺點是您需要重鑄常規字典(假設您沒有創建初始字典)
new_foo = MyDict(foo)
some_item = new_foo.fetch("bar")
但在這種情況下,使用 lambda 可能會更容易(參見Samwise 的回答)
uj5u.com熱心網友回復:
您可以通過執行以下操作來獲取鍵“bar”的鍵值對 ->
foo = {"bar":"baz", "hello":"world"}
some_item = {k:v for k,v in foo.items() if k=='bar'}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444680.html
