字典--Python學習筆記(五)

陳麗(冷小)發表於2020-11-29

一、字典定義

  • 字典是許多值得集合,用{ }表示;
  • 字典的索引稱為 “鍵”,鍵及關聯的值稱為 “鍵-值” 對;
  • 字典是無序的,不能使用切片;

二、使用字典

1、使用 "鍵-值"對 訪問字典

spam={'animal':'monkey', 'color':'red'}
print(spam['color'])
red

2、新增“鍵-值"對

spam={'animal':'monkey', 'color':'red'}
spam['number']=1
spam['name']='tom'
print(spam)
{'animal': 'monkey', 'color': 'red', 'number': 1, 'name': 'tom'}

3、修改字典中的值

spam={'animal':'monkey', 'color':'red'}
spam['color']='blue'
print(spam)
{'animal': 'monkey', 'color': 'blue'}

4、刪除鍵-值對

spam={'animal':'monkey', 'color':'red'}

{'color': 'red'}

三、字典方法

1、keys() 、values() 、items()

key() 、value() 、items()分別對應鍵、值、鍵-值對

spam={'animal':'monkey', 'color':'red'}
print(spam.keys())
print(spam.values())
print(spam.items())
dict_keys(['animal', 'color'])
dict_values(['monkey', 'red'])
dict_items([('animal', 'monkey'), ('color', 'red')])

如上,這些方法返回的是類似列表的值,但並不是真正的列表,它們不能被修改,沒有append()方法,但可以用於for迴圈。

2、可以使用in、not in 操作符檢查是否存在鍵或值

3、get() 方法

  • 作用:檢查一個鍵是否存在於字典中;設定預設值
  • 用法:get(A,B),有兩個引數,A是要檢查的鍵,B是如果這個鍵不存在,返回的備用值; B可以省略,但是如果查詢的鍵不存在時,會返回None值;
  • 但是,get()修改的值不保留在字典中。
spam={'animal':'monkey', 'color':'red'}
print(spam.get('animal'))
print(spam.get('number',0))
print(spam.get('number'))
print(spam)
monkey
0
None
{'animal': 'monkey', 'color': 'red'}

3、setdefault() 方法

  • 作用:檢查一個鍵是否存在於字典中;設定預設值
  • 用法:setdefault(A,B),有兩個引數,A是要檢查的鍵,B是如果這個鍵不存在時要設定的值,如果存在就返回該鍵的值; B可以省略,但是如果查詢的鍵不存在時,會返回None值;
  • setdefault()修改的值保留在字典中。
spam={'animal':'monkey', 'color':'red'}
print(spam.setdefault('animal'))
print(spam.setdefault('number',3))
print(spam)
monkey
3
{'animal': 'monkey', 'color': 'red', 'number': 3}
spam={'animal':'monkey', 'color':'red'}
print(spam.setdefault('animal'))
print(spam.setdefault('number'))
print(spam)
monkey
None
{'animal': 'monkey', 'color': 'red', 'number': None}

4、漂亮列印pprint() 、pformat()

  • 如果字典是巢狀的列表或者字典,使用pprint()列印特別有用;
  • 如果是需要的到列印的文字作為字串,而不是顯示在螢幕上,就呼叫pprint.pformat().
import pprint
spam={'animals':'dog','colors':['red','bule'],'number':[1,2,3],'size':['s','m']}
pprint.pprint(spam)
print('\n')
print(pprint.pformat(spam))
{'animals': 'dog',
 'colors': ['red', 'bule'],
 'number': [1, 2, 3],
 'size': ['s', 'm']}


{'animals': 'dog',
 'colors': ['red', 'bule'],
 'number': [1, 2, 3],
 'size': ['s', 'm']}

相關文章