語音輸入

回報問題 查看原始碼 夜間 7.4 ,直接在 Google Cloud 控制台實際操作。 7.3 7.2 7.1 7.0 6.5

字典是一種內建類型,代表關聯對應或字典。字典支援使用 d[k] 建立索引,以及使用 k in d 進行主要成員資格測試。兩項作業皆需要固定時間未凍結的字典是可變動的,您可以將其指派給 d[k] 或呼叫特定方法來更新。字典是可迭代的;迭代會以插入順序產生鍵序列。更新與現有鍵相關聯的值不會影響迭代順序,但移除再重新插入鍵會影響迭代順序。

d = {0: "x", 2: "z", 1: "y"}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, "y"), (2, "b")]

建立字典的方式有四種:

  1. 字典運算式 {k: v, ...} 會產生新字典,其中包含指定的鍵/值項目,並按照運算式中顯示的順序插入。如果任何兩個鍵運算式產生相同的值,評估作業就會失敗。
  2. 字典解釋 {k: v for vars in seq} 會產生新的字典,其中每個鍵/值組合會依循迴疊代順序插入。允許重複:第一個插入的鍵會決定鍵在序列中的位置,最後一個插入的值會決定鍵的相關值。
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. 對內建 dict 函式的呼叫會傳回字典,其中包含指定的項目,這些項目會依引數順序插入,位置引數會插入在命名引數之前。與 comprehension 一樣,重複的鍵是允許的。
  4. 聯集運算式 x | y 會結合兩個現有字典來產生新的字典。如果兩個字典具有共同的索引鍵 k,右手字典中的索引鍵值 (也就是 y[k]) 將勝出。聯集運算子的 |= 變體會就地修改字典。範例:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

成員

關閉

None dict.clear()

從字典中移除所有項目。

get

unknown dict.get(key, default=None)

如果字典中含有 key,則傳回 key 的值,否則傳回 default。如果未提供 default,系統會預設為 None,因此這個方法不會擲回錯誤。

參數

參數 說明
key 必要
要尋找的鍵。
default 預設值為 None
如果找不到鍵,系統會使用預設值 (而不是 None)。

項目

list dict.items()

傳回鍵/值元組清單:
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

金鑰

list dict.keys()

傳回鍵清單:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

流行

unknown dict.pop(key, default=unbound)

從字典中移除 key,並傳回相關聯的值。如果找不到該鍵的項目,就不會移除任何項目,並傳回指定的 default 值;如果未指定預設值,則會失敗。

參數

參數 說明
key 必要
金鑰。
default default 為 unbound
,如果沒有鍵,則為預設值。

popitem

tuple dict.popitem()

從字典中移除並傳回第一個 (key, value) 組合。popitem 適用於破壞性疊代的字典,就像在集演算法中使用一樣。如果字典沒有任何內容,popitem 呼叫就會失敗。

setdefault

unknown dict.setdefault(key, default=None)

如果字典中含有 key,則傳回其值。如果不是,請插入值為 default 的鍵,並傳回 defaultdefault 的預設值為 None

參數

參數 說明
key required
The key.
default default 為 None
,如果沒有鍵,則為預設值。

update

None dict.update(pairs=[], **kwargs)

先使用選用的位置引數 pairs 更新字典,然後再使用選用的關鍵字引數 如果有位置引數,則該引數必須為 dict、reerable 或 None。 如果是字典,則系統會將鍵/值組合插入這個字典。如果是可枚舉項目,則必須提供一組序列 (或長度為 2 的其他可枚舉項目),每個項目都會視為要插入的鍵/值組合。每個關鍵字引數 name=value 都會將名稱/值組合插入這個字典。

參數

參數 說明
pairs 預設值為 []
。可以是字典或項目清單。項目必須是元組或清單,且只含有兩個元素:鍵和值。
kwargs required
Additional 字典項目。

list dict.values()

傳回值清單:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]