不間斷 Python 挑戰 Day 15 - 更多關於字典 (Dictionary)

更新 發佈閱讀 8 分鐘

在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。

使用for迴圈迭代

  • 字典可以使用for迴圈迭代,最簡單的語法如下,須注意此處取得的是字典的鍵:
cities_dict = { "台北": 2531659,
         "新北": 4011586,
         "桃園": 2272452,
         "台中": 2814422,
         "台南": 1863435,
         "高雄": 2746939}

for city in cities_dict:
  print(city, end=" ")

執行結果:

台北 新北 桃園 台中 台南 高雄
  • 明確一點,若要取得字典的鍵可以使用字典的keys()方法:
for city in cities_dict.keys():
  print(city, end=" ")

執行結果和前面相同:

台北 新北 桃園 台中 台南 高雄
  • 若想取得的是字典的值,可以使用字典的values()方法:
for population in cities_dict.values():
  print(population, end=" ")

執行結果:

2531659 4011586 2272452 2814422 1863435 2746939
  • 也可以鍵和值同時取出,使用的是字典的items()方法,字典的鍵將傳給city、字典的值將傳給population:
for city, population in cities_dict.items():
  print(city, population, end=" ")

執行結果:

台北 2531659 新北 4011586 桃園 2272452 台中 2814422 台南 1863435 高雄 2746939
  • 實際上,items()方法傳回的資料型態是元組,上述方法只是用兩個變數分別去存取元組的內容:
for city_pop in cities_dict.items():
  print(city_pop, end=" ")

執行結果:

('台北', 2531659) ('新北', 4011586) ('桃園', 2272452) ('台中', 2814422) ('台南', 1863435) ('高雄', 2746939)

串列元素為字典

串列內的元素可以是字典,在以上的例子中,當每個城市除了人口數之外,需要記錄的特徵變多了,例如城市的面積,我們可以把每個城市的資訊建成一個字典,再把所有的字典放入一個串列中管理。

city0 = { "name": "台北", "population": 2531659, "area": 271}
city1 = { "name": "新北", "population": 4011586, "area": 2052}
city2 = { "name": "桃園", "population": 2272452, "area": 1220}
city3 = { "name": "台中", "population": 2814422, "area": 2214}
city4 = { "name": "台南", "population": 1863435, "area": 2191}
city5 = { "name": "高雄", "population": 2746939, "area": 2951}
special_municipality_list = [city0, city1, city2, city3, city4, city5]
for city in special_municipality_list:
  print(city)

執行結果:

{'name': '台北', 'population': 2531659, 'area': 271}
{'name': '新北', 'population': 4011586, 'area': 2052}
{'name': '桃園', 'population': 2272452, 'area': 1220}
{'name': '台中', 'population': 2814422, 'area': 2214}
{'name': '台南', 'population': 1863435, 'area': 2191}
{'name': '高雄', 'population': 2746939, 'area': 2951}

字典的值為串列

字典內的值可以為串列,如以下例子分別列舉了亞洲、歐洲與美洲做為字典的鍵,各大洲的一些國家分別儲存在陣列,做為字典的值,搭配字典的items()方法可以將其內容取出。

countries_dict = { "Asia": ["Japan", "Korea", "Taiwan"],
           "Europe": ["Germany", "France", "Spain"],
           "America": ["USA", "Canada", "Argentina"]}
for continent, country in countries_dict.items():
  print(f"{continent}: {country}")

執行結果:

Asia: ['Japan', 'Korea', 'Taiwan']
Europe: ['Germany', 'France', 'Spain']
America: ['USA', 'Canada', 'Argentina']

字典的值為字典

字典內的值也可以為字典,我們改寫前面字典串列的例子,把城市名稱做為鍵、城市的資訊做為值存入字典,再搭配字典的items()方法將其內容取出。

cities_dict = { "台北": {"population": 2531659, "area": 271},
         "新北": {"population": 4011586, "area": 2052},
         "桃園": {"population": 2272452, "area": 1220},
         "台中": {"population": 2814422, "area": 2214},
         "台南": {"population": 1863435, "area": 2191},
         "高雄": {"population": 2746939, "area": 2951}}
for city, info in cities_dict.items():
  print(f"{city}: {info}")

執行結果:

Asia: ('Japan', 'Korea', 'Taiwan')
Europe: ('Germany', 'France', 'Spain')
America: ('USA', 'Canada', 'Argentina')

程式範例

https://github.com/wjweng/marathon_python/blob/master/Day1_to_25/marathon_python_day15.py

留言
avatar-img
Wei-Jie Weng的沙龍
52會員
37內容數
Wei-Jie Weng的沙龍的其他內容
2022/07/13
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
Thumbnail
2022/07/13
對於程式的初學者而言,理解程式的流程、迴圈的進行、或是變數的變化會需要一定程度將程式在腦中進行運算的能力,要一段時間熟悉與適應,尤其是當程式執行的結果不如預期時,往往是計算的過程和自己所想像的不同,這時又更難靠自己的能力找出錯誤。因此,這邊要介紹的這個工具可以將程式執行的過程逐行將變數的變化視覺化地
Thumbnail
2022/07/13
在上一節介紹了 JSON 資料的基本架構後,我們將改寫並擴充密碼產生器程式,讓它能夠藉由 JSON 的資料結構完成帳密搜尋的功能。
Thumbnail
2022/07/13
在上一節介紹了 JSON 資料的基本架構後,我們將改寫並擴充密碼產生器程式,讓它能夠藉由 JSON 的資料結構完成帳密搜尋的功能。
Thumbnail
2022/06/23
JSON的全名叫JavaScript Object Notation,是由Douglas Crockford所設計的一種資料格式,最初應用在JavaScript程式語言中,做為一種資料交換的格式,而後被廣泛運用在Web開發與NoSQL資料庫,現今已成為一種重要的資料格式。
Thumbnail
2022/06/23
JSON的全名叫JavaScript Object Notation,是由Douglas Crockford所設計的一種資料格式,最初應用在JavaScript程式語言中,做為一種資料交換的格式,而後被廣泛運用在Web開發與NoSQL資料庫,現今已成為一種重要的資料格式。
Thumbnail
看更多
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
Dictionary 字典 和 Set 集合 字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)
Thumbnail
我們將會學習 Python 中的數據結構。 主要的數據結構包括列表 (List)、元組 (Tuple)、字典 (Dictionary) 以及集合 (Set)。
Thumbnail
我們將會學習 Python 中的數據結構。 主要的數據結構包括列表 (List)、元組 (Tuple)、字典 (Dictionary) 以及集合 (Set)。
Thumbnail
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
Thumbnail
我們介紹了字串和列表的索引和切片操作。索引使用方括號[]來選擇字串或列表中的特定元素,並可以使用正向索引(從0開始)或反向索引(從最後一個元素為-1)來訪問元素。切片使用方括號[]和冒號:來選擇字串或列表中的一段子序列,指定起始位置和結束位置(不包含),並可以使用步長來控制間隔。
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
Thumbnail
Python提供集合做為其資料結構,它就如同高中數學所學集合的概念,集合的內容一般來說是具有某種特性的事物的整體,例如考試分數及格的群體、數字1到100內的所有奇數、球箱內所有球的顏色等。因此,在一個集合中,每個元素的地位都是相同且無序,並且只能出現一次,集合和集合之間,也可以進行交集、聯集、差集等
Thumbnail
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
Thumbnail
在前面的文章中我們學習了關於字典的基本用法,今天再討論更多關於字典的其它用法,以及它和串列、元組等的關聯。
Thumbnail
在程式設計中,我們會使用到一些固定不會變動的資料內容,例如一年的月份、物體的邊長、過去一周的氣溫等等,使用串列的結構固然也可以用來儲存這些資料,但串列可以被新增或刪除,不能有效保護這類不可變動的資料。因此,Python也提供了另一種形式的資料結構,稱為元組,它的資料結構和串列相同,但資料的內容不可變
Thumbnail
在程式設計中,我們會使用到一些固定不會變動的資料內容,例如一年的月份、物體的邊長、過去一周的氣溫等等,使用串列的結構固然也可以用來儲存這些資料,但串列可以被新增或刪除,不能有效保護這類不可變動的資料。因此,Python也提供了另一種形式的資料結構,稱為元組,它的資料結構和串列相同,但資料的內容不可變
Thumbnail
當我們查字典時,會先找到想查詢的單字在字典裡的位置,才能在那個位置找到單字的定義;在Python中,也有一個類似的資料結構稱作字典,字典的鍵(key)就對應到我們要查詢的單字,字典的值(value)則是該單字的定義。
Thumbnail
當我們查字典時,會先找到想查詢的單字在字典裡的位置,才能在那個位置找到單字的定義;在Python中,也有一個類似的資料結構稱作字典,字典的鍵(key)就對應到我們要查詢的單字,字典的值(value)則是該單字的定義。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News