• 字典 dictionary


    ###### day 5 字典 dictionary 
    #数据的类型:
    #1,可变的数据类型:list,dictionary,set  不可哈希
    
    #2,不可变的数据类型:tuple,int,str,bool   可哈希
    #字典由键(key)和值(value)组成
    #字典的key也就是键是不可变的数据类型:tuple,int,str,Boo
    #而对于value可以是任意的数据类型
    #dictionary的优点:二分查找去查询,存储大量的关系型数据
    #key 不可以重复,value 可以重复,也可以理解为字典中的K有就覆盖,没有就添加
    
    
    #字典的增
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic[5]="美满"
    print(dic)
    
    dic={"name":"LInda"}
    dic.setdefault("age")#setdefault 没有就添加,
    print(dic)
    dic={"name":"LInda"}
    dic.setdefault("age",18)
    print(dic)
    dic.setdefault("name")#没影响
    print(dic)
    dic.setdefault("name","Chichy")#字典中已经有name,不会再改变
    print(dic)
    #result
    #{'name': 'LInda', 'age': None}
    #{'name': 'LInda', 'age': 18}
    #{'name': 'LInda', 'age': 18}
    #{'name': 'LInda', 'age': 18}
    
    
    
    #字典的删
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic.pop(1)#有返回值value
    print(dic)
    #若键在字典中就删除对应的键和值,若键没在字典中就会报错,pop中必须要有一个参数
    #否则会报错
    #但是这样写就算k值没在字典中也不会报错dic.pop(8,None),不会删除字典中的任何一个值
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic.popitem()#在3.7.2这个版本中默认的是删除最后一个,有返回值,以元组的形式把最后一个元素返回
    print(dic)
    dic.pop(1,None)#但是若K在字典中,则会删除,不再不删除,不会报错
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic.clear()#清空字典
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    del dic[1]
    print(dic)
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    del dic  #删除整个字典
    
    
    #字典的改
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic1={1:"才华",5:"梦想"}
    dic1.update(dic)#有的就不改变
    print(dic1)
    #{1: '金钱', 5: '梦想', 2: '爱情', 3: '美貌', 4: '气质'}
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic.update(dic1)#这两种写法不同,但是结果顺序也不同
    print(dic)
    #{1: '才华', 2: '爱情', 3: '美貌', 4: '气质', 5: '梦想'}
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",3:"美貌",4:"气质"}
    dic[1]="才华"
    print(dic)
    
    
    
    #字典的查
    dic={1:"金钱",2:"爱情",3:"诚信",4:"美貌",5:"气质",6:"才华"}
    print(dic.keys())
    print(dic.values())
    print(dic.items())
    
    #result
    #dict_keys([1, 2, 3, 4, 5, 6])
    #dict_values(['金钱', '爱情', '诚信', '美貌', '气质', '才华'])
    #dict_items([(1, '金钱'), (2, '爱情'), (3, '诚信'), (4, '美貌'), (5, '气质'), (6, '才华')])
    
    
    
    dic={1:"金钱",2:"爱情",3:"诚信",4:"美貌",5:"气质",6:"才华"}
    for i in dic:
        print(i)
    for i in dic.keys():#查找的都是K
        print(i)
    for i in dic.values():#查找的是value
        print(i)
    for k,v in dic.items():#查找的是key,和value
        print(k,v)
    
    '''
    dic={1:"金钱",2:"爱情",3:"诚信",4:"美貌",5:"气质",6:"才华"}
    print(dic[2])
    print(dic.get(8))#不会报错,但是输出None
    print(dic.get(8),"没有这个键")#None 没有这个键,若这个键没在字典中,可以自定义输出结果
    print(dic[8])#若k没在字典中就会报错
    

      

  • 相关阅读:
    利用智能手机(Android)追踪一块磁铁(三)
    利用智能手机(Android)追踪一块磁铁(二)
    利用智能手机(Android)追踪一块磁铁(一)
    android音频发生器
    接口的作用(java)
    Botposter.com集群ETCD2.3.7升级至3.0实录[原创]
    springboot2+jpa+hikari+oracle实战
    Nginx配置详解
    Nginx安装启动+springboot项目实现负载均衡实战
    springboot使用websocket进行实时传送信息实战(包含服务端和客户端)
  • 原文地址:https://www.cnblogs.com/GZ1215-228513-Chichy/p/11319746.html
Copyright © 2020-2023  润新知