Python dict字典keys()、values()和items()方法

2020-07-16 10:04:52
這 3 個方法之所以放在一起介紹,是因為它們都用來獲取字典中的特定資料。keys() 方法用於返回字典中的所有鍵;values() 方法用於返回字典中所有鍵對應的值;items() 用於返回字典中所有的鍵值對。

例如:
a = {'數學': 95, '語文': 89, '英語': 90}
print(a.keys())
print(a.values())
print(a.items())
執行結果為:

dict_keys(['數學', '語文', '英語'])
dict_values([95, 89, 90])
dict_items([('數學', 95), ('語文', 89), ('英語', 90)])


注意,在 Python 2.x 中,這三個方法的返回值是列表型別。但在 Python 3 中,並不是我們常見的列表和元組型別,因為 Python 3不希望使用者直接操作這幾個方法的返回值。如果想使用返回的資料,有以下 2 種方法:
  1. 使用 list() 函數,將它們返回的資料轉換成列表,例如:
    a = {'數學': 95, '語文': 89, '英語': 90}
    b = list(a.keys())
    print(b)
    執行結果為:

    ['數學', '語文', '英語']

  2. 也可以利用多重賦值的技巧,利用迴圈結構將鍵或值分別賦給不同的變數,比如說:
    a = {'數學': 95, '語文': 89, '英語': 90}
    for k in a.keys():
        print(k,end=' ')
    print("n---------------")
    for v in a.values():
        print(v,end=' ')
    print("n---------------")
    for k,v in a.items():
        print("key:",k," value:",v)
    執行結果為:

    數學 語文 英語
    ---------------
    95 89 90
    ---------------
    key: 數學  value: 95
    key: 語文  value: 89
    key: 英語  value: 90