1. 程式人生 > 其它 >python基礎班筆記7 元組及字典

python基礎班筆記7 元組及字典

技術標籤:學習筆記

2021-01-28

元組

元組簡介

• 元組表現形式tuple
• 元組是一個不可變序列(一般當我們希望資料不改變時,我們使用元組,其他情況下基本都用列表)
• 使用()建立元素
• 元組不是空元組至少有一個 逗號(,) 當元組不是空元組時括號可以省略
• 元組解包指將元組當中的每一個元素都賦值給一個變數

元組拆包

  • 只可存在一個*
  • *可以接受多個引數
  • 接受後的引數由一個列表來儲存
    在這裡插入圖片描述 在這裡插入圖片描述

字典

字典簡介

字典的基本介紹

• 字典屬於一種新的資料結構稱為對映(mapping)
• 字典的作用和列表類似,都是用來儲存物件的容器
• 列表儲存資料的效能好,但是查詢資料的效能差,字典正好與之相反

• 在字典中每一個元素都有唯一的名字,通過這個唯一的名字可以找到指定的元素
• 這個唯一的名字我們稱之為key 通過key可以快速查詢value 也可以稱之為值
• 字典我們也稱之為鍵值對(key-value)結構
• 每個字典中都可以有多個鍵值對,而每一個鍵值對我們稱其為一項(item)
• 建立一個有資料的字典 語法 {key:value}
• 字典的值可以是任意物件 字典的鍵可以是任意的不可變物件(int str bool tuple…)
• 字典的鍵是不能重複的,如果出現重複的後面的會替換前面的

字典的使用

• dict()函式來建立字典
在這裡插入圖片描述 在這裡插入圖片描述
python2中規則如下:
在這裡插入圖片描述
• get(key[,default]) 根據鍵來獲取字典的值。第二個引數可以指定一個預設值,當獲取不到值的時候會返回預設值

• dict.setdefault(key,[default])向字典新增key-value,如果key已經存在與字典中,則返回value,不會對字典原有值進行改變,如果key不存在,則向字典新增這個key並設定value

• update() 將其他字典的key-value新增到當前的字典當中
在這裡插入圖片描述 在這裡插入圖片描述

• del 刪除字典中的key-value
在這裡插入圖片描述 在這裡插入圖片描述

• popitem() 刪除字典最後的一個key-value 這個方法是有返回值的。刪除之後它會將刪除的key-value作為返回值返回
在這裡插入圖片描述 在這裡插入圖片描述

• pop(key[,default]) 根據key刪除自定中的value。第二個引數可以指定一個預設值,當獲取不到值的時候會返回預設值

在這裡插入圖片描述 在這裡插入圖片描述
• dict.clear() 清空字典

遍歷字典

我們主要可以通過3種方式對字典進行遍歷
• keys() 該方法返回字典所有的key
在這裡插入圖片描述 在這裡插入圖片描述
• values() 該方法返回一個序列 序列中儲存有字典的值
在這裡插入圖片描述 在這裡插入圖片描述

• items() 該方法會返回字典中所有的項 它返回一個序列,序列中包含有雙值子序列 雙值分別是 字典中的key和value
在這裡插入圖片描述


淺拷貝與深拷貝

copye()

  • copy() 方法用來對字典進行淺複製
    注意:淺複製只會複製字典本身,如果字典中還有個字典是不會進行復制的
    在這裡插入圖片描述 在這裡插入圖片描述

deepcopy()

  • 深拷貝可以對所有型別資料進行拷貝,並生成新的id
    在這裡插入圖片描述 在這裡插入圖片描述

作業

• a = {“name”:“123”,“data”:{“result”:[{“src”:“python1”},{“src”:“python2”},{“src”:“python3”}]}} 找到python1/python2/python3

a = {"name":"123","data":{"result":[{"src":"python1"},{"src":"python2"},{"src":"python3"}]}}
print(a["data"]["result"][0]['src'])
print(a["data"]["result"][1]['src'])
print(a["data"]["result"][2]['src'])

• 有如下值列表[11,22,33,44,55,66,77,88,99,90], 將所有大於66的值儲存至字典的第一個key的值中,將小於66值儲存至第二個key的值中。

list1 = [11,22,33,44,55,66,77,88,99,90]
list2 = []
list3 = []
list4 = []
for i in list1:
    if i < 66:
        list2.append(i)
    elif i > 66:
        list3.append(i)
    else:
        list4.append(i)
#print(list1,list2,list3,list4)
dict1 = dict(little=list2,big=list3,same=list4)
print(dict1)