CH7-2 dict 字典物件


dict 字典物件基本介紹


在 Python 中 dict 和 list很常被使用來儲存資料的容器物件。dict 字典是由 key:value 所組成的物件容器,根據 Python Wiki 上的資料製作出 Python 相關資訊的字典物件:

language_info_dict = {
    'name': 'Python',
    'released_at': 1991,
    'designed_by': 'Guido van Rossum',
    'filename_extensions': ['.py', '.pyi']
}

dict 字典的 key 健值必須是不可變物件(例如:字串、整數、tuple 等),不能使用 list 等可變物件當作 dict 的 key。

隨堂練習:建立 dict 物件


使用 {} 建立 'name': 'Jack', 'age': 20, 'gender': 'Male' 的 dict 物件。

profile = {
  'name' : 'Jack',
  'age' : '27',
  'city' : 'New York',
  'gender' : 'male'
}

dict 物件基本操作


dict 是一種透過 key/value 儲存的無順序性結構。

建立dict 並透過key取值:

profile = {
  'name' : 'Jack',
  'age' : '27',
  'city' : 'New York',
  'gender' : 'male'
}

print(profile['name' ])

#取出Jack

在dict中取key值,並且當該key值不存在於dict中,回傳默認值或None,而非error,則可以使用.get():

profile = {
    'age' : '27',
  'city' : 'New York',
  'gender' : 'male'
}

print(profile.get('name'))

#得到None,因為dict中不存在name這個key值。(若存在則得到Jack)。

隨堂練習:建立 dict 並透過 key 取值


使用 [] 和 get() 方式取得 Java 的使用人數。

languages = {'Python': 12, 'Java': 3, 'C': 2}
1.get:
print(languages.get('Java'))
2.[]:
print(languages['Java'])

新增修改 key/value 值

中括號值可以新增修改 dict 的 key/value:

languages = {'Python': 12, 'Java': 3, 'C': 2}
languages['R']=12

print(languages)

#{'Python': 12, 'Java': 3, 'C': 2, 'R': 12}

隨堂練習:新增修改 key/value 值


新增一個 key 是 C++ value 為 6,並將 Python 的 value 改為 7。

languages = {'Python': 12, 'Java': 3, 'C': 2}
languages = {'Python': 12, 'Java': 3, 'C': 2}
languages['c++']=6
languages['Python']=7

print(languages)

#{'Python': 7, 'Java': 3, 'C': 2, 'c++': 6}

刪除 key/value 值

pop() 移除指定鍵值並回傳移除值:

languages = {'Python': 12, 'Java': 3, 'C': 2}

建立一個乘載被移除值的變數
removed_value = language.pop('Python')

print(removed_value) 
#得 12

print(languages)
#只會獲得{'Java': 3, 'C': 2}

練習


移除 dict 中的 Java key 後印出結果。

languages = {'Python': 12, 'Java': 3, 'C': 2}

1.新增C++:
languages['c++']=6
print(languages)
#得到{'Python': 12, 'Java': 3, 'C': 2, 'c++': 6}

2.移除Java:
removed_value = languages.pop('Java')
print(removed_value)
#得3 (java這個key值,回傳value值)

3.印出先新增後移除的整個Dict:
print(languages)
#得到{'Python': 12, 'C': 2, 'c++': 6}

取得 dict 中所有 key/value

使用 keys() 取得 dict 所有 key
values() 取得 dict 所有 value

languages = {'Python': 12, 'Java': 3, 'C': 2}

print(languages.keys())
#得到 dict_keys(['Python', 'Java', 'C'])

print(languages.values())
#得到 dict_values([12, 3, 2])

迭代 dict 中元素
```
languages = {'Python': 12, 'Java': 3, 'C': 2}

for key, value in languages.items():
print(key, value)

#隨堂練習:迭代 dict 中元素
使用 dict.items() 迭代印出 dict 的 key, value 值。

languages = {'Python': 12, 'Java': 3, 'C': 2}

for key, value in languages.items():
print(key, value)
```

#Python






你可能感興趣的文章

資結、 Complexity and Big O Notation

資結、 Complexity and Big O Notation

PHP會員管理系統 - 超入門版登入串接

PHP會員管理系統 - 超入門版登入串接

Ruby:  Exception Handling

Ruby: Exception Handling






留言討論