1. 程式人生 > >[Python 3系列]字典

[Python 3系列]字典

dict

像列表一樣,“字典”是許多值的集合。但不像列表的下標,字典的索引可以使用許多不同數據類型,不只是整數。字典的索引被稱為“鍵”,鍵及其關聯的值稱為“鍵-值”對。

字典中的表項是不排序的。所以不能像列表那樣切片。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> dict[‘age‘]
18


keys()、values()和items()方法

▎3個字典的方法:

keys() 鍵

values() 值

items() 鍵-值對

這些方法返回的值不是真正的列表,它們不能被修改。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> for k in dict.keys():
...     print(k)
...
Color
name
age
>>> for v in dict.values():
...     print(v)
...
white
Tom
18
>>> for k,v in dict.items():
...     print(k,v)
...
Color white
name Tom
age 18

in和not in

利用in和not in操作符可以檢查值是否存在於列表中。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> ‘age‘ in dict.keys()
True
>>> ‘age‘ in dict      ## 等於“‘age‘ in dict.keys()”
True
>>> ‘Color‘ not in dict.keys()
False
>>> ‘white‘ in dict.values()
True


get()方法

在訪問一個鍵的值之前,檢查該鍵是否存在於字典中,可以使用get()方法,它有兩個參數:要取得其值的鍵,以及如果該鍵不存在時,返回的備用值。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> ‘My hair is ‘+str(dict.get(‘hair‘,‘BLACK‘))+‘.‘
‘My hair is BLACK.‘


setdefault()方法

setdefault()方法為字典中某個鍵設置一個默認值,當該鍵沒有任何值時使用它。

傳遞給setdefault()方法的第一個參數,是要檢查的鍵。第二個參數,是如果該鍵不存在時要設置的值。如果該鍵確實存在,方法就會返回鍵的值。

>>> dict={‘name‘:‘Tom‘,‘age‘:18,‘Color‘:‘white‘}
>>> dict.setdefault(‘hair‘,‘black‘)
‘black‘
>>> dict.setdefault(‘age‘,‘20‘)
18
>>> dict
{‘Color‘: ‘white‘, ‘name‘: ‘Tom‘, ‘age‘: 18, ‘hair‘: ‘black‘}


漂亮打印

如果程序中導入pprint模塊,就可以使用pprint()和pformat()函數,它們將漂亮打印一個字典的字。

如果字典本身包含嵌套的列表或字典,pprint.pprint()函數就特別有用。

如果希望得到漂亮打印的文本作為字符串,而不是顯示在屏幕上,那就調用pprint.pformat()。

pprint.pprint(someDictValue) = print(pprint.pformat(someDictValue))

>>> import pprint
>>> text=‘One night can change everything in your life.‘
>>> count={}
>>> for char in text:
...     count.setdefault(char,0)
...     count[char]=count[char]+1
...
>>> pprint.pprint(count)
{‘ ‘: 7,
 ‘.‘: 1,
 ‘O‘: 1,
 ‘a‘: 2,
 ‘c‘: 2,
 ‘e‘: 5,
 ‘f‘: 1,
 ‘g‘: 3,
 ‘h‘: 3,
 ‘i‘: 4,
 ‘l‘: 1,
 ‘n‘: 6,
 ‘o‘: 1,
 ‘r‘: 2,
 ‘t‘: 2,
 ‘u‘: 1,
 ‘v‘: 1,
 ‘y‘: 2}


本文出自 “亂碼時代” 博客,請務必保留此出處http://juispan.blog.51cto.com/943137/1947913

[Python 3系列]字典