python中dict()函數怎麼創造鍵為數字的鍵值對?
keywords參數必須是有效的標識符,而數字不是。
官方文檔里的dict部分也寫了,直接在索引里搜「dict」,選擇(built-in class),有:
&>&>&> a = dict(one=1, two=2, three=3)
&>&>&> b = {one: 1, two: 2, three: 3}
&>&>&> c = dict(zip([one, two, three], [1, 2, 3]))
&>&>&> d = dict([(two, 2), (one, 1), (three, 3)])
&>&>&> e = dict({three: 3, one: 1, two: 2})
&>&>&> f = dict({one: 1, three: 3}, two=2)
&>&>&> a == b == c == d == e == f
True
Providing keyword arguments as in the first example only works for keys that are valid Python identifiers.
鍵只要是不可變的就行,數字不數字不是重點。數字做鍵天然支持
據我所知,Python 字典的鍵可以使用的數據類型除了字元串以外,還有數字、元組等。
以下例子創建一個鍵為數字的簡單的字典:
&-->
&-->當然也可以給這個字典添加其他數據類型的鍵值對:
&-->&-->另外,創建空白字典時,使用 a = {} 也是可以的。
----- 2021-2-19 分割線 -----
有朋友回答此題說數字不能作為鍵,但官方文檔是這樣說的:
&-->需求確定:python利用dict函數創建鍵為數字的鍵值對
dict()函數用法:
dict 語法:
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
參數說明:
- **kwargs -- 關鍵字
- mapping -- 元素的容器。
- iterable -- 可迭代對象。
dict() # 創建空字典
dict(a=a, b=b, t=t) # 傳入關鍵字
dict(zip([one, two, three], [1, 2, 3])) # 映射函數方式來構造字典
dict([(one, 1), (two, 2), (three, 3)]) # 可迭代對象方式來構造字典
dict([(1, 1), (two, 2), (three, 3)])
&-->
總結:dict()函數能夠創建鍵為數字的鍵值對。
註:python基礎,可以參考如下書籍
電子書Python 數據分析基礎作者 Clinton W. Brownley會員專享¥ 34.99去查看?電子書數據分析從入門到進階作者 陳紅波 等會員專享¥ 51.94去查看?dict(1:10)就沒問題啊,是數字鍵。
書上寫可以通過dict(key=value)的形式創建給定鍵值對的字典,但是我在創建時如果鍵是數字的時候,比如a=dict(1 = 10)就會顯示錯誤,而用a={1:10}則沒有問題。所以如果我想用dict()函數創建鍵為數字的鍵值對應該怎麼做呢?還是說dict()函數不能創建鍵為數字的鍵值對?鍵為元組如a=dic((1,2,3)=123)也不行。
推薦閱讀: