zoukankan      html  css  js  c++  java
  • 字典

    小知识

    join()#拼接符.join(可迭代对象)
    

    字典——dict 无序的,可变的

    存储大量数据,字典比列表要快,将数据和数据之间进行关联

    定义一个字典

    dic = {"长鑫":10,"李卫":80, "张宇":100}#逗号分割是一个元素   键:长鑫  值 :10——键值对
    

    字典的键:

    必须是可哈希的——不可变的数据的类型——避免了哈希冲突,使用了开放寻址法

    可哈希的——不可变的数据的类型

    不可哈希的——可变的数据的类型

    要求唯一:如果有重复的,后边的值将前边的值覆盖

    字典的值:

    可以任意数据类型

    字典的增加:

    暴力添加:

    dic = {"长信":10}
    dic["ss"] = 20
    
    

    setdefault()

    dic.setdefault("lwh",100)
    #1.拿着键去字典中查询,如果不存在执行添加,如果存在就不添加了
    
    

    字典的删除:

    del #通过字典的键删除键值对

    dic = {"长信":10}
    del dic["长信"]
    

    pop #通过字典的键删除键值对,有返回值,返回的是被删除的值

    dic = {"长信":10,"ccc":1}
    dic.pop("长信")
    

    clear# 清空字典

    字典的改:

    dic={"长信":10,"ss":10}
    dic["ss"] = 100#字典中没有键值对是添加,有就修改
    

    update()——括号中的字典级别高于update前边的字典

    dic={"长信":10,"ss":10}
    dic1={"ss",100,1:"das"}
    dic.update({"ss",100,1:"das"})
    

    字典的查:

    for—— 循环获取的的是字典中的键

    dic={"长信":10,"ss":10}
    for i in dic:
        print(i)
    

    get()——通过键获取值,如果建不存在字典中,存在放回见对应的值,不存在返回None

    dic={"长信":10,"ss":10}
    print(dic.get("ss"))
    
    
    print(dic["ss"])#通过键获取值,如果不存在报错
    

    其他操作:

    dic={"长信":10,"ss":10}
    for i in dic:
        print(i,dic.get(i))
    

    keys()——获取字典中的所有的键,存放在一个高仿列表中

    dic = {"changxin":1,"ccc":None}
    print(dic.keys())
    结果:
    dict_keys(['changxin', 'ccc', 'a'])高仿列表——支持for循环不支持索引
    

    values()——获取字典中所有的值,存放在一个高仿列表中

    dic = {"changxin":1,"ccc":None}
    print(dic.values())
    结果
    dict_values([1, None])
    

    items()——获取字典中的所有的键值对,以元组形式存放在一个高仿列表中

    dic = {"changxin":1,"ccc":None}
    print(dic.values())
    结果:
    dict_items([('changxin', 1), ('ccc', None)])
    

    解构:

    a, b= 10,12#本质上是一个元组
    print(a)
    print(b)
    a,b=b,a
    print(a)
    print(b)
    结果:
    10
    12
    12
    10
    a,b=[1,2]
    print(a,b)
    a,_,b=(1,2,3)#等号后边的值要与前边一一对应
    print(a,b)
    结果:
    1 2
    1 3
    
    
    a,b="12"
    print(a,b)
    a,b={1:"12",2:"22"}
    print(a,b)
    
    结果:
    1 2
    1 2
    
    
    
    dic = {"changxin": 1, "ccc": None}
    for k, v in dic.items():
        print(k, v)#循环获取字典的每一个键和值
    for i in dic.items():
        print(i)
    结果:
    changxin 1
    ccc None
    ('changxin', 1)
    ('ccc', None)
    

    字典的嵌套:

    查找的时候一层一层的通过键查找

    dic = {1001:["周杰伦","林俊杰",],
           1002:{"汪峰":{"前妻":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
           1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
          1004:{"韦小宝":[{"教主夫人":"教主"},{"阿珂","刺客"},{"双儿":"天地会"},{"爱新觉罗":"建宁"},]},
          1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖"]}
           }
    
    
  • 相关阅读:
    Windows下使用Visual Studio Code搭建Go语言环境
    无缓冲和带缓冲channel的区别
    Asp.Net MVC如何返回401响应码
    从这里开始我的博客园
    java判定字符串中仅有数字和- 正则表达式匹配 *** 最爱那水货
    主席树
    Mybitis+springMVC 套路
    jeeplus ani 文档路径
    jquery easyui datagrid 多选只能获取一条数据
    python写入文件编码报错
  • 原文地址:https://www.cnblogs.com/ciquankun/p/11163391.html
Copyright © 2011-2022 走看看