[英]Python: Why can't I unpack a tuple into a dictionary?
為什么這不起作用?:
d["a"], d["b"] = *("foo","bar")
有沒有更好的方法來實現我想要實現的目標?
如果您事先定義字典d
,並從那里刪除*
,它將起作用:
>>> d = {}
>>> d["a"], d["b"] = ("foo","bar")
實際上,您不需要RHS上的那些括號,因此這也將起作用:
>>> d['a'], d['b'] = 'foo', 'bar'
其他人已經展示了你如何打開一個詞典。 但是,在回答你的問題“有沒有更好的方法”時,我認為:
d.update(a='foo',b='bar')
更容易解析。 無可置疑,如果你有a
和b
是變量 ,這不起作用,但你可以使用:
d.update({a:'foo',b:'bar'})
我認為我仍然喜歡這個版本,原因如下:
如果你從一個2元組的值開始,而不是像你展示的那樣是靜態的,你甚至可以使用zip
:
d.update( zip(("a","b"),("foo","bar")) )
這肯定不如其他兩個選項好......
...我們剛剛介紹了你可以使用dict.update
:)的所有3種方法。
這只是一個錯字( *
)。 這工作(在Python 2.7.3中測試):
d = dict()
d["a"], d["b"] = ("foo", "bar")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.