第二章python序列-字典

字典

字典用于存放具有映射关系的数据结构
字典是包含若干“键:值”对的无序可变序列,字典中的每个元素包含两部分:“键”和“值”。定义字典时,每个元素的“键”和“值”用冒号分隔,相邻元素之间用逗号分隔,所有的元素都放在一对大括号“{”和“}”中
键(key)必须使用不可变类型的
同一个字典中,键必须是唯一的
第二章python序列-字典_第1张图片

1.创建字典

(1)直接将一个字典对象赋给变量

>>> a={'name':'xiaohua'}
>>> type(a)  #类型是字典

>>> b={'a':1,'b':2}
>>> b
{'a': 1, 'b': 2}

(2)使用dict()利用已有数据创建字典

>>> x=['a','b','c']
>>> y=[1,2,3]
>>> c=dict(zip(x,y))
>>> c
{'a': 1, 'b': 2, 'c': 3}

(3)使用dict根据给定的键、值创建字典

>>> d=dict(age=18)
>>> d
{'age': 18}
>>> e=dict.fromkeys(['name','age','sex'])
>>> e
{'name': None, 'age': None, 'sex': None}

2.访问一个元素的值

(1)以键作为下标

>>> a={'name':'xiaohua'}
>>> a
{'name': 'xiaohua'}
>>> a['name']
'xiaohua'
若指定键不存在则会抛出异常
>>> a={'name':'Wang','sex':'male','age':37}
>>> a['name']
'Wang'
>>> a['tel']  #若指定键不存在则会抛出异常
Traceback (most recent call last):
  File "", line 1, in 
    a['tel']  #若指定键不存在则会抛出异常
KeyError: 'tel'

(2)使用字典对象的get()方法

>>> a['name']
'xiaohua'
>>> a.get('name')
'xiaohua'
>>> a.get('age')
>>> 
get()方法可以获取指定“键”对应的“值”,并且可以在指定“键”不存在的事后反悔指定值,如果不指定,则默认返回None
>>> a
{'name': 'Wang', 'sex': 'male', 'age': 37}
>>> print(a.get('address'))
None
>>> print(a.get('address','SDIBT'))
SDIBT
>>> 

3.访问所有元素的键、值

(1)keys()

访问所有元素的键

>>> c
{'a': 1, 'b': 2, 'c': 3}
>>> c.keys()  #访问所有元素的键
dict_keys(['a', 'b', 'c'])

(2)values()

访问所有元素的值

>>> c
{'a': 1, 'b': 2, 'c': 3}
>>> c.values()  #访问所有元素的值
dict_values([1, 2, 3])
>>> 

(3)items()

遍历所有元素的值

>>> c
{'a': 1, 'b': 2, 'c': 3}
>>> c.items()  #遍历所有元素的值
dict_items([('a', 1), ('b', 2), ('c', 3)])
>>> t={'语文':80,'数学':90,'英语':85}
>>> t.items()
dict_items([('语文', 80), ('数学', 90), ('英语', 85)])
>>> for key in t:
    print(key)

    
语文
数学
英语
>>> for key,value in t.items():
    print(key,value)

    
语文 80
数学 90
英语 85

求成绩的平均值

第二章python序列-字典_第2张图片

4.添加与修改字典元素

(1)字典对象[键]=值

>>> t
{'语文': 80, '数学': 90, '英语': 85}
>>> t['语文']=90
>>> t
{'语文': 90, '数学': 90, '英语': 85}
>>> t['体育']=99
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99}

(2)字典对象的setdefault()方法

如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

>>> t.setdefault('语文')
90
>>> t.setdefault('python')
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None}
>>> t.setdefault('python1',99)
99
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99}

(3)字典对象的update()方法

update() 函数把字典 dict2 的键/值对更新到 dict 里

>>> q={'a':1,'b':2}
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99}
>>> t.update(q)
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99, 'a': 1, 'b': 2}
>>> q.update(t)
>>> q
{'a': 1, 'b': 2, '语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99}
>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99, 'a': 1, 'b': 2}

4.删除字典

(1) del命令

删除所有的元素

>>> q
{'a': 1, 'b': 2, '语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99}
>>> del q['python']
>>> q
{'a': 1, 'b': 2, '语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python1': 99}

删除指定键的对应元素

>>> t
{'语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python': None, 'python1': 99, 'a': 1, 'b': 2}
>>> del t
>>> t
Traceback (most recent call last):
  File "", line 1, in 
    t
NameError: name 't' is not defined

(2)pop()方法

删除并返回指定“键”的元素

>>> a
{'name': 'Wang', 'sex': 'male', 'age': 37}
>>> a.pop('name')
'Wang'
>>> a
{'sex': 'male', 'age': 37}

(3)clear()方法

删除所有的元素

>>> q
{'a': 1, 'b': 2, '语文': 90, '数学': 90, '英语': 85, '体育': 99, 'python1': 99}
>>> q.clear()
>>> q
{}

你可能感兴趣的:(python,java,开发语言)