第八天-字典

第八天-字典

一、认识字典(dict)

  1. 字典是容器型数据类型(序列);将{}作为容器的标志,里面的键值对用逗号隔开
    {键1:值1,键2:值2,·······}
    容器的特点:
    1)字典是可变的——支持增删改
    2)无序——不支持下标
    3)对元素的要求——键值对
    键的要求:任何不可变类型的数据,一般使用字符串;键唯一;对值没有要求

二、字典的增删改

  1. 查——查的目的是获取对应键后大的值。

    1)字典[键]——获取指定键对应的值
    2)在不确定字典中是否有想要的键的时候使用
    字典.get(键)
    字典.get(键,默认值)

    stu={'name':'大海','age':22,'gender':'男','tsl':'12346'}
    print(stu['age'])
    print(stu.get('age'))
    
  2. 字典[键]=值——如果原字典中有指定键则改,如果没有则增加。

    stu={'name':'大海','age':22,'gender':'男','tsl':'12346'}
    stu['name']='小海'
    stu['h'] = 175
    print(stu)
    
  3. 字典.setdefault()——单纯的添加,如果原字典中有这个键则不修改。

    students = [
        {'name':'大海','age':2,'gender':'男','tsl':'12346','score':90},
        {'name':'大河','age':12,'gender':'女','tsl':'12346','score':65},
        {'name':'大江','age':25,'gender':'女','tsl':'12346'},
        {'name':'大湖','age':30,'gender':'男','tsl':'12346','score':63}
    ]
    for i in students:
        i.setdefault('score',0)
    print(students)
    
  4. 删——删除键值对

    del 字典[键]——删除指定键值对

    字典.pop(键)——取出指定键值对的值

三、字典的相关应用

  1. 运算符

    相关列表,字典不支持:+,*,比较大小

  2. 相关函数

    dict(数据)
    数据的要求:
    1)这个数据必须是一个数列
    2)序列中元素必须是有且中有两个元素的小序列,
    两个元素中第一个元素是不可变的数据

  3. 相关方法

    1)字典.clear ——清空字典

    2)字典.copy——赋值产生一个一模一样的新字典

    3)返回值

    ​ 字典.values()——返回所有的值

    ​ 字典.keys()——返回所有的键

    ​ 字典.items()——返回所有的键值对

    dog ={'name':'阿财','age':2,'color':'黑','breed':'哈'}
    print(dog.values())
    print(dog.keys())
    print(dog.items())
    

    4)练习:用列表推导式交换字典的键和值

    dict1 = {10: 20, 'a': 'b', 'c': 30}
    new_dict1 = dict([(j,i) for i , j in dict1.items()])
    print(new_dict1)
    

    ​ 5)字典.update(字典2)——将字典2中所有键值对添加到字典1

上一篇:2021-11-03


下一篇:js笔记