至於其他答案已經指出,dict是一個函數調用。它有三種語法形式。
形式:
dict(**kwargs) -> new dictionary initialized with the name=value pairs
in the keyword argument list. For example: dict(one=1, two=2)
(如在這種情況下使用或name
)中的鍵必須是有效的Python identifiers,和整數無效。
的限制,不僅是功能dict
你能證明它像這樣:
>>> def f(**kw): pass
...
>>> f(one=1) # this is OK
>>> f(1=one) # this is not
File "<stdin>", line 1
SyntaxError: keyword can't be an expression
不過,也有你們兩個其他的語法形式可以使用。
有:
dict(iterable) -> new dictionary initialized as if via:
d = {}
for k, v in iterable:
d[k] = v
實施例:
>>> dict([(1,'one'),(2,2)])
{1: 'one', 2: 2}
而從映射:
dict(mapping) -> new dictionary initialized from a mapping object's
(key, value) pairs
實施例:
>>> dict({1:'one',2:2})
{1: 'one', 2: 2}
雖然這可能看起來不多(從字面的字典的字典)沒有記住,Counter和defaultdict的映射,這是你如何將這些隱蔽的字典之一:
>>> from collections import Counter
>>> Counter('aaaaabbbcdeffff')
Counter({'a': 5, 'f': 4, 'b': 3, 'c': 1, 'e': 1, 'd': 1})
>>> dict(Counter('aaaaabbbcdeffff'))
{'a': 5, 'c': 1, 'b': 3, 'e': 1, 'd': 1, 'f': 4}