1. 程式人生 > 其它 >一文看懂Python(三)-----字典篇

一文看懂Python(三)-----字典篇

技術標籤:PythonPython基礎字典

字典不同於列表、元組和字串,列表、元組和字串可以概括為序列型別,有以下特點:

  • 1.都可以通過索引得到每一個元素
  • 2.預設索引值總是從0開始
  • 3.可以通過切片的方法得到一個範圍內的元素集合
  • 4.有很多共同的操作符
    而字典是一種對映型別,這是完全不同的。

1、建立字典

1.1 常用建立方式

dict1 = {'李寧':'雲','耐克':'zoom','阿迪達斯':'boost','匹克':'態極'}

1.2 利用元組建立

dict2 = dict((('a',1),('b',2),('c',3),('d',4)))

1.3 另外一種建立方式

dict3 =
dict(馬斯克 = '讓程式設計改變世界',愛因斯坦 = '廣義狹義相對論')

2、修改字典

dict3['李寧'] = '一切皆有可能'
# 如果字典中沒有該元素,通過上述這種方式會新新增該元素到字典中
dict3['奮鬥'] = '社會上容納不了太多有理想的人'

3、常用方法

3.1 fromkeys(seq,val)方法:建立一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值,val可選

# 若沒有設定val,預設為None
dict1 = {}
dict1.fromkeys((1,2,3))
# 設定val為number,則建立的字典值為number
dict1.fromkeys((1,2,3),'number')

3.2 keys():獲得字典所有的key值

dict2 = {}
dict2 = dict2.fromkeys(range(30),'贊')
for each in dict2.keys():
    print(each)

3.3 values():獲得字典所有的values值

for each in dict2.values():
    print(each)

3.4 items()方法:將字典的每一項打印出來,以元組的形式

for each in dict2.items():
    print(each)

3.5 get(key,default)方法:返回指定鍵的值,如果值不在字典中返回default值,default可選

# dict2字典中只有30個元素,索引值0~29,沒有30,因此返回一個None
print(dict2.get(30))
print(dict2.get(29))

3.6 in/not in :判斷key是否在字典中¶

32 in dict2
29 in dict2

3.7 copy():這是淺拷貝,與直接相等不是一個東西

a = {1:'one',2:'two'}
# 淺拷貝
b = a.copy()
# 通過列印首地址來確認
print(id(a))
print(id(b))
# 可以發現不是相同的

在這裡插入圖片描述

# 深拷貝
c = a
print(id(c))
print(id(a))
# 可以發現這是一致的

在這裡插入圖片描述

3.8 pop(key,default):刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

dict2.pop(27)

3.9 popitem():返回並刪除字典中的最後一對鍵和值。

dict2.popitem()

3.10 setdefault(key,default):和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default

dict2.setdefault(26,'woaini')

3.11 update(dict2):把字典dict2的鍵/值對更新到dict裡

dict2.update({99:'kk'})