Python学习笔记:字典(dict)有关内容,,字典是Python中


字典是Python中唯一的映射类型。映射类型对象里哈希值(键:key),和指向的对象(值:value),是一对多的关系,也就是

字典的元素分为两个部分,分别是键和值,一个键对应一个值,键不能够重复,值可以重复。


1.创建字典。

(1).字典是用大括号({})来包含元素的,基本创建就是直接赋值,键不能是元组或者列表,但是值可以是。

>>> D = {'a':1,'b':2,'c':3}<span style="white-space:pre"></span>>>> D{'a': 1, 'b': 2, 'c': 3}>>> D = {'a':(1,2,3),'b':[1,2,3]}<span style="white-space:pre"></span>#值为元组、列表>>> D{'a': (1, 2, 3), 'b': [1, 2, 3]}>>> D = {[1,2]:1}<span style="white-space:pre"></span>#键为列表,异常Traceback (most recent call last):  File "<pyshell#9>", line 1, in <module><span style="white-space:pre"></span>    D = {[1,2]:1}TypeError: unhashable type: 'list'


(2).可以用dict() 函数来创建,函数中传入一个元组(或者列表),元组(或者列表)里面包含多个有着对应关系的元组(或者列表),函数就会自动创建成字典类型。

(格式:dict() ()里面只要是能够表达对应关系的序列都可以)

>>> D = dict((['a',1],['b',2]))<span style="white-space:pre"></span>#用元组,元组里面用列表来表达对应关系>>> D{'a': 1, 'b': 2}>>> D = dict([('a',1),('b',2)])>>> D{'a': 1, 'b': 2}>>> type(D)<class 'dict'>

(3)可以用fromkeys() 函数来创建,函数里面两部分内容,一是键,二是值,键可以用字符串、元组、列表等包含起来,值只能是一个值,然后函数

会把这个值赋给所有的键,值不存在默认为None。(格式:{}.fromkeys(keys,value) keys用序列包含起来,value 直接写上去就好)

>>> D = {}.fromkeys(('a','b'),2)<span style="white-space:pre"></span>#元组包含键>>> D{'a': 2, 'b': 2}>>> D = {}.fromkeys(['a','b'],1)<span style="white-space:pre"></span>#列表包含键>>> D{'a': 1, 'b': 1}>>> D = {}.fromkeys('abc',1)<span style="white-space:pre"></span>#字符串包含键>>> D{'a': 1, 'b': 1, 'c': 1}>>> D = {}.fromkeys('a')<span style="white-space:pre"></span>#值默认为None>>> D{'a': None}


2.访问字典。

因为字典是映射关系,所以不存在索引值,想要访问的话只能够通过键来实现,通过键来找到键所对应的值,不能通过值找键,就是一对一的格式。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D['a']1>>> D['b']2>>> D['c']3


有个比较容易混乱的,下面看起来像是用索引值来访问了,但是却不是这样的,此时1,2,3代表的是键!!!
>>> D = {1:'a',2:'b',3:'c'}>>> D{1: 'a', 2: 'b', 3: 'c'}>>> D[1]'a'>>> D[2]'b'>>> D[3]'c'


3.删除字典。


单个删除字典元素。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> del D['a']>>> D{'b': 2, 'c': 3}


整个删除字典。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> del D>>> DTraceback (most recent call last):  File "<pyshell#66>", line 1, in <module>    DNameError: name 'D' is not defined

清空字典的内容,让字典成为空字典。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.clear()>>> D{}


4.更新字典。


字典是可改变的,就如列表一样。


改变字典的值。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D['a']1>>> D['a'] = 4>>> D{'a': 4, 'b': 2, 'c': 3}

如果改变字典的值时,该键不存在就会在字典中新加入该键和值。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D['d'] = 4>>> D{'d': 4, 'a': 1, 'b': 2, 'c': 3}>>> D['e'] = 0>>> D{'d': 4, 'a': 1, 'e': 0, 'b': 2, 'c': 3}

5.有关函数。

len()

计算字典 键-值 个数。

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> len(D)3

get()

get() 函数对字典dict中的键key,返回它所对应的值value,如果该键不存在字典中,则返回default的值,default默认为None(格式:dict.get(key,default=None) )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.get('a')1>>> D.get('e')>>> D.get('e',10)10>>> D

items()

items() 函数返回一个包含字典中键、值对元组的列表。(格式:dict.items() )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.items()dict_items([('a', 1), ('b', 2), ('c', 3)])

keys()

keys() 函数返回一个包含字典中键的列表。(格式:dict.keys() )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.keys()dict_keys(['a', 'b', 'c'])

values()

values() 函数返回一个包含字典中所有值的列表。(格式:dict.values() )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.values()dict_values([1, 2, 3])

pop()

pop() 函数删除字典中key以及对应的值,并返回,如果key不存在则返回default的值,如果default没指定值,则会异常。(格式:dict.pop(key,default) )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.pop('a')1>>> D{'b': 2, 'c': 3}>>> D.pop('e',1)1>>> D.pop('f')Traceback (most recent call last):  File "<pyshell#116>", line 1, in <module>    D.pop('f')KeyError: 'f'

popitem()

popitem() 函数随机删除并返回字典中一对键值。(格式:dict.popitems() )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.popitem()('a', 1)

setdefault()

setdefault()函数查找字典dict中的键key,返回它所对应的值value,如果该键不存在字典中,则返回default的值并且在字典中新增该键值,default默认为None。

(格式:dict.setdefault(key,default=None) )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.setdefault('a')1>>> D{'a': 1, 'b': 2, 'c': 3}>>> D.setdefault('e')>>> D{'a': 1, 'e': None, 'b': 2, 'c': 3}>>> D.setdefault('f',5)5

update()

update() 函数将dict2的键值添加到原字典dict 中,如果有相同的键,则以dict2的为准。(格式:dict.update(dict2) )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D1 = {'a':4,'e':5}>>> D1{'a': 4, 'e': 5}>>> D.update(D1)>>> D{'a': 4, 'e': 5, 'b': 2, 'c': 3}

copy()

copy() 函数复制dict的内容。(格式:dict.copy() )

>>> D = {'a':1,'b':2,'c':3}>>> D{'a': 1, 'b': 2, 'c': 3}>>> D1 = D.copy()>>> D1{'a': 1, 'b': 2, 'c': 3}


Python学习笔记:字典(dict)有关内容

相关内容

    暂无相关文章

评论关闭