python基礎(part8)--容器類型之元組和字典

鄙人學習筆記
開發工具:Spyder



元組

定義

元祖是由一系列變量組成的不可變序列容器。
備註:不可變是指一但創建,不可以再添加/刪陣。

基本操作

創建空元祖和有默認值的元組

代碼:

t01 = ()
t02 = tuple()
print(t01, '\n', t02)
print('--------------')
#創建具有默認值的元組
t01 = (1, 2, 3)
t02 = tuple("abc")
t03 = (1, 2, [3, 4])
print(t01, '\n', t02, '\n', t03)   

控制檯輸出:

修改及獲取

元祖是不可變序列容器,雖然元祖元素不可變,但是元組內引用對象內的元素可以變。

代碼(改變元祖元素):

t01 = (1, 2, [3, 4])
t01[1] = 100

控制檯輸出:

報錯了呢~

代碼(改變元組內引用對象內的元素):


t01 = (1, 2, [3, 4])
t01[2][0] = 100
print(t01)

控制檯輸出:

作用

①元組與列表都可以存儲一系列變量,但是由於列表會預留內存空間,所以可以增加元素。
②元組會按需分配內存,所以如果變量數量固定,建議使用元組,因爲通常佔用空間更小。

字典

定義

字典是一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值對key=>value 用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 。

  • 格式
{key1 : value1, key2 : value2 }

基本操作

創建空字典和有初始值的字典

代碼:

#創建空字典
d01 = {}
d02= dict()
print(d01, '\n', d02)
print('--------------')

#創建有初始值的字典
d01 = {"A":1,"B":2}
d02 = dict([("C", 3), ("D", 4)])
print(d01, '\n', d02)

控制檯輸出:

增加,修改,讀取,刪除

代碼:

d01 = {"A":1,"B":2}

#增加
d01["C"] = 3
print(d01)

#修改
d01["A"] = 10
print(d01)

#讀取
#若字典中沒有"B"這個key則會報錯,所以最好先進行判斷
if "B" in d01:
    print(d01["B"])

#刪除
del d01["B"]
print(d01)

控制檯輸出:

獲取字典中的鍵和值

代碼:

d01 = {"A":1,"B":2, "C":3}

for item in d01.items():
    print(item[0],"-",item[1])

print("--------------")
    
for key,value in d01.items():
    print(key, "-", value)

控制檯輸出:

字典推導式

  • 語法
{:值的表達式 for,in 可迭代對象 if 條件}
  • 例子

代碼:

d01 = {item:item**2 for item in range(1, 10) if item % 2 == 0}

print(d01)

結果:

案例

代碼:

list01 = ["小黃", "大白", "奧尼爾"]
list02 = [2, 4, 6]
list03 = [("A", 1), ("B", 2), ("C", 3)]

d01 = {list01[i]:list02[i] for i in range(len(list01))}
d02 = {key:value for key,value in list03}

print(d01)
print(d02)

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章