python3基本数据类型03——字典

一、字典

  字典:每个元素都是一个键值对   

>>> user = {'name':'tdh','age':80,'sex':'nan'}
>>> user['name']
'tdh'

>>> user['age']
80

    如上:字典的键:name、age、sex,字典的值:‘tdh’、80、‘nan’,每个键都对应一个值。字典的键就相当于之前字符串的索引,只不过字典的索引只能靠自己设置,而字符串的索引是自动生成的

  查看字典的键:使用keys函数

>>> user = {'name':'tdh','age':80,'sex':'nan'}
>>> user.keys()
dict_keys(['name', 'age', 'sex'])

  查看字典的值:使values函数

>>> user = {'name':'tdh','age':80,'sex':'nan'}
>> user.values()
dict_values(['tdh', 80, 'nan'])

  查看字典的键值对:使用items函数

>>> user = {'name':'tdh','age':80,'sex':'nan'}
>>> user.items()
dict_items([('name', 'tdh'), ('age', 80), ('sex', 'nan')])

  清空字典:clear函数

>>> user1
{'name': 'tdh', 'age': 80, 'sex': 'nan'}
>>> user1.clear()
>>> user1
{}

  查看字典的key中是否存在‘a’:

    t = 'a'  in  dict.keys()

    若 t 为True表示字典的键里有‘a’

  get(self, k, d=None):根据key来获取值

    输入:k表示键,d为字典没有k参数时输出的值

    功能:获取键对应的值              注:与直接使用键索引相比,直接使用键索引时没有找到键时会报错,如下图红色部分

    输出:参数k在字典里,则输出k对应的值,否则输出d参数

>>> user
{'name': 'tdh', 'age': 80, 'sex': 'nan'}
>>> user.get('name',1)
'tdh'
>>> user.get('name1',1)
1
>>> user['name1']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'name1'

  pop(self, k, d=None):根据键删除键以及键对应的值

    输入:k要删除的键,d表示没有找到k参数时输出的值

    功能:删除k键及其对应的值

    输出:若找到k,则输出k对应的值,否则输出d或报错

>>> user
{'name': 'tdh', 'age': 80, 'sex': 'nan'}
>>> user.pop('name',0)                    #删除‘name’键值对
'tdh'
>>> user
{'age': 80, 'sex': 'nan'}
>>> user.pop('11',0)                      #字典没有‘11’键,输出d参数
0
>>> user.pop('11')              #字典没有‘11’键且没有设置参数d,报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: '11'

  popitem(self):直接删除最后一个键值对

    输入:无

    功能:删除最后一个键值对

    输出;输出最后一个键值对

>>> user1
{'name': 'tdh', 'age': 80, 'sex': 'nan'}
>>> user1.popitem()
('sex', 'nan')
>>> user1
{'name': 'tdh', 'age': 80}

  update(self, E=None, **F):批量更新                                  

    输入:字典(只能有一个参数,不能直接填键值对)

    功能:在末尾添加字典

    输出:无    def update(self, E=None, **F): # known special case of dict.update

        """
        D.update([E, ]**F) -> None.  Update D from dict/iterable E and F.
        If E is present and has a .keys() method, then does:  for k in E: D[k] = E[k]
        If E is present and lacks a .keys() method, then does:  for k, v in E: D[k] = v
        In either case, this is followed by: for k in F:  D[k] = F[k]
        """
        pass

>>> D = {1:1,2:2,3:3}
>>> E= {1:2,4:4}
>>> D.update(E)

>>> D
{1: 2, 2: 2, 3: 3,4:4}

  

 

posted @ 2018-05-30 16:46  tdh_2  阅读(132)  评论(0编辑  收藏  举报