1. 程式人生 > >Python學習筆記 Day6 if及字典

Python學習筆記 Day6 if及字典

Day 6 if及字典

  • if
    • "=="運算子用於檢測表示式兩端是否相等;
    • "!="運算子用於檢測表示式兩端是否不相等;
    • <, <=, >, >=;
    • 檢查是否相等時區分大小寫;
    • if else;
    • if elif else;
  • 字典
    • 花括號括起來的“鍵 : 值”的組合,例如:
    alien_0 = {'clolor' : 'green' , 'points' : 5}
    
    這裡定義了一個外星人字典,包括兩個鍵:color和points,值分別是green和5;
    • 與鍵相關的值可以是數字、字串、列表甚至是字典,可以將任何Python物件用作字典的值;
    • 取值:字典名 + 放在方括號內的鍵
    • 賦值:
    alien_0['color'] = 'ren'
    alien_0['points'] = 10 + alien_0['points']
    
    • 動態結構

      • 新增:直接通過 ‘ 字典名 + 放在放在方括號內的鍵 = 值 ’ 即可,還是用外星人字典為例,新增位置鍵值的程式碼如下:
       alien_0['x_position'] = 0
       alien_0['y_position'] = 25
      
      • 刪除:del + 字典名+放在方括號內的鍵:
      del
      alien_0['x_position']
    • 遍歷
      首先定義一個字典

      favorite_languages = {
      'jen':'python', 
      'sarah':'c', 
      'edward':'rub', 
      'phil':'python'
      }
      
      • itmes() 方法,返回鍵-值組合;
      for name, language in favorite_languages.items():
      	print (name.title() +"'s favorite language is " +
      		language.title() + ".")
      

      如果上述語句改為:

      for name in favorite_languages.items():
      	print (name)
      

      想想輸出值是什麼?最初我的答案是輸出所有的名字,實際執行結果是:
      執行結果

      • keys() 方法,遍歷字典中的所有鍵,keys() 方法返回一個包含字典中所有鍵名稱的列表;
      • values() 方法,用於遍歷字典中的所有值,values() 方法返回一個包含字典中所有值的列表;
      • set() 函式,返回一個集合,集合中的每個元素都是獨一無二的,也就是說剔除重複項;
        思考下面兩段程式碼,我最初認為輸出結果應該是一樣的,都應該是剔除了重複項的語言名稱:
      for name in set(favorite_languages.values()):
      	print (name)
      
      for name in favorite_languages.values():
      	print set((name))
      

      結果呢,第一段程式碼的輸出:
      第一段程式碼輸出
      下面是第二段程式碼的輸出:
      第二段程式碼輸出

    • Tips
      我的理解:字典相當於資料庫表裡面的一行資料,鍵就是資料庫表的欄位,值就是欄位值。

    • 巢狀

      • 字典巢狀,可以是在列表中儲存字典、在字典中儲存列表
        • 在列表中儲存字典:字典變數作為列表值的列表,我的理解是,如果作為列表分量存在的各字典都是一樣的結構的話,在列表中儲存字典就構成了關係型資料庫的表
        • 在字典中儲存列表:字典的某一個鍵的值是列表,我的理解類似於關係型資料庫中通過關鍵字連結的兩個或多個表的概念,其中,字典是主表,而作為值存在的列表是儲存標準分類的字表
        • 在字典中嵌入字典;