• 作业12:字典dict讲解及增删改查等操作


    # dict  讲解及增删改查等操作
    # 数据类型划分,可变数据类型,不可变数据类型
    
    # 不可变数据类型:元祖 bool int str  (又叫 可哈希)
    # 可变数据类型: list(列表)、dict(字典)、set(集合)(又叫 不可哈希 )
    # 字典dict key 必须是不可变数据类型,可哈希
             # value 任意数据类型
    # dict 优点:二分查找去查询
    #            储存大量关系型数据
    #      特点:无序的(Python3.5之前是,3.6以后是有序的)
    
    # dic = {
    #     'name':['风花雪月','百炼成钢'],
    #     'py1':[{'num':71,'avg_age':18,}],
    #     True:1,
    #     (1,2,3):'m',
    #     2:'凤凰',
    # }
    # print(dic)
    
    # dic1 = {'age':18,'name':'elsa','sex':'male',}
    # 增
    # dic1['high'] = 185  # 添加新的键值对
    # dic1['age'] = 16  # 修改原有键值对  覆盖原有
    # print(dic1)   # {'age': 16, 'name': 'elsa', 'sex': 'male', 'high': 185}
    
    # dic1.setdefault('weight',100) # 如果没有该键值就添加
    # print(dic1)  # {'age': 18, 'name': 'elsa', 'sex': 'male', 'weight': 100}
    
    # dic1.setdefault('name','alex') # 如果有该键值就不变了(setdefault与dic1['age'] = 16区别在于dic1['age'] = 16直接覆盖原键值,setdefault 有键值不做任何改变 没有才增加)
    # print(dic1)  # {'age': 18, 'name': 'elsa', 'sex': 'male'}
    
    # 删 pop.()
    # print(dic1.pop('age'))  # 有返回值 按键来删除
    # print(dic1)
    # 18 # 这是返回的键值
    # {'name': 'elsa', 'sex': 'male'} # 这是结果
    
    # print(dic1.pop('呃呃呃',None) ) # 可设置返回值
    # print(dic1)
    # None # 这是返回的提示 表示没有此键值
    # {'age': 18, 'name': 'elsa', 'sex': 'male'} # 这是结果
    
    # dic1.clear() # 清空字典
    
    # 改  update
    
    # dic1['age'] = 16  # 修改原有键值对  覆盖原有
    
    # dic1 = {'age':28,'name':'elsa','sex':'male',}
    # dic2 = {'age':18, 'weight': 100,}
    # dic2.update(dic1)
    # print(dic1) # {'age': 28, 'name': 'elsa', 'sex': 'male'}
    # print(dic2) # {'age': 28, 'weight': 100, 'name': 'elsa', 'sex': 'male'}
    # 将dic1更新覆盖到dic2中,原dic1不改变
    
    # 查
    dic1 = {'age':28,'name':'elsa','sex':'male',}
    # print(dic1.keys()) # dict_keys(['age', 'name', 'sex']) 键
    # print(dic1.values()) # dict_values([28, 'elsa', 'male']) 值
    # print(dic1.items()) # dict_items([('age', 28), ('name', 'elsa'), ('sex', 'male')]) 元祖 元祖里是键值
    
    # for i in dic1:
    #     print(i) # 默认打印键  age name sex
    # for i in dic1.values():
    #     print(i)  # 打印 值  28 elsa male
    # for i in dic1.items():
    #     print(i)  # 打印 键值  ('age', 28) ('name', 'elsa') ('sex', 'male')
    
    # a = 1
    # b = 2
    # a,b = b,a
    # print(a,b)  # a b  a=2 b=1  数值互换
    
    
    # for k,v in dic1.items():
    #     print(k,v)
    # 打印 键值
    # age 28
    # name elsa
    # sex male
    
    # for k,v in dic1.items():
    #     for i in k,v:
    #         print(i)
    # 打印 键值
    # age
    # 28
    # name
    # elsa
    # sex
    # male
    
    # print(dic1.get('name','没有这个键'))
    # 字典中如果有返回对应的值 如果没有相关的键 默认返回 None 也可以设置返回值 且不会报错
    

      

  • 相关阅读:
    python中创建实例属性
    Python中if __name__ == "__main__": 的理解
    模块
    python函数式编程
    python-复杂生成式
    生成器的测试
    mysql乱码配置
    javascript
    Sql Server 2008 R2 下载地址
    Microsoft Data Access Components 2.8
  • 原文地址:https://www.cnblogs.com/elsa2007/p/10922156.html
Copyright © 2020-2023  润新知