zoukankan      html  css  js  c++  java
  • 近期学习(3)

    一、字典dict

    1 . 定义:用于数据存储,存储大量数据,字典比列表要快,将数据和数据之间进行关联

    字典是无序的,可变的数据类型

    用列表实现成绩

    lst1=["常鑫","李文虎","张宇"]#姓名
    lst2 = [10,80,100] 分数
    print(lst[0],lst[1])
    

    定义一个字典:

    dic = {"常鑫"#键:10#值,"李文虎":80,"张宇":100}
    

    字典中逗号分隔为一个元素

    其他语言叫做键值对,python中叫做字典

    字典的键:

    • 必须是可哈希的——不可变数据类型——避免哈希冲突使用开放寻址法
    • 不可哈希的——可变数据类型
    • 要求唯一,如果有重复,后面的将覆盖前面的

    字典的值:

    • 可以任意

    增:

    dic = {"常鑫":[1,2,3]}
    dic["李文虎"] = 89 暴力添加
    dic. setdefault("李文虎",100)
    #李文虎这个键去字典进行查询,如果不存在执行添加,如果存在就不添加
    

    删除:

    del dic["常鑫"]
    print(dic)
    

    pop:通过字典的键进行删除键值对

    print(dic.pop("键”)) #返回的是被删除的值
    print(dic)
    

    clear

    dic.clear() #清空
    print(dic)
    

    改:

    dic["常鑫"] = "123" #字典中没有某个键对的时候就是添加,当键在字典中存在的时候就是修改
    

    .update()

    dicl.update(dic)
    print(dic1)
    

    dicl = {"1":3,"5":9,"李文虎":100}
    for i in dicl #循环是获取字典对应的键
    	print(i)
        
    print(dic.get("cx"))#通过键获取值,如果键不存在与字典中返回None
    print(dic["cx"])#通过键获取值,如果键不在字典中报错
    

    其他操作

    获取所有的键和值

    dicl = {"1":3,"5":9,"李文虎":100}
    for i in dicl:
        print(i,dicl.get(i)) #获取所有键和值
    
    for i in dic.items():
     print(i[0],i[1])
    

    获取所有的键

    print(dicl.keys()) #高仿列表——支持for循环不支持索引
    for i in dic1.keys()#获取字典中所有的键
    	print(i)
    list(dicl.keys()) #转换为真列表
    

    获取所有的值

    print(list(dicl.values()))  #获取字典中所有的值并转为列表
    
    lst = []
    for i in dic1:
    lst.append(dic1[i]) 
    

    解构:

    a,b = 10,12
    print(a)
    print(b)
    
    a = 10
    b = 20
    a,b = b,a
    print(a)
    print(b) #a与b进行交换
    
    a,b = [1,2]
    print(a,b)  #将列表中的元素解构出来
    
    a,b = (3,4)
    print(a,b)  #将元组中的值解构出来
    
    a,_,b = (3,4,5)
    print(a,b)   # 等号后边的值和前面的变量名要一一对应
    
    a = 10,12  # 本质就是一个元组
    print(a)
    
    #a,b = {"1":"a","2":"b"}
    #print(a,b)    # 打印字典中的键
    
    for k,v in dic1.items():
    	print(k,v)    # 获取每个元素的键和值
    
    for i in dic1.items():
    	print(i)
    

    字典的嵌套

    dic = {1001:["周杰伦","林俊杰"],
           1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
           1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
           1004:{"韦小宝":[{"教主夫人":["教主"]},
                        {"阿珂":"刺客"},
                        {"双儿":"天地会"},
                        {"爱心觉罗建宁":"公主"},
                        {"独臂神尼":{"韦小宝师父":{"兰陵王":"隐身"},"花木兰":[
                               "唧唧复唧唧","木兰是战士",{"爸爸":["花和尚"]}]
                                 }},
                        {"陈圆圆":"丈母娘"},{"穆建平":"小郡主"}]},
           1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖",]}
           }
    
    # print(dic)
    # print(dic[1004]["韦小宝"][0]["教主夫人"][0])
    # print(dic[1005]["常鑫"][-1])
    # print(dic[1002]["汪峰"]["前妻2"][-1])
    # print(dic[1004]["韦小宝"][4]["独臂神尼"]["韦小宝师父"]["兰陵王"])
    # print(dic[1004]["韦小宝"][4]["独臂神尼"]["花木兰"][2]["爸爸"][0])
    
  • 相关阅读:
    关于springMVC的一些常用注解
    关于springMVC的一些xml配置
    关于easyUI的一些js方法
    关于easyUI一些标签的使用
    关于easyUI分页
    P3376 模板网络流
    P1343 地震逃生
    网络流最大流
    python函数知识三 函数名的使用、格式化、递归
    python函数知识二 动态参数、函数的注释、名称空间、函数的嵌套、global,nonlocal
  • 原文地址:https://www.cnblogs.com/Kiwi-456/p/11166444.html
Copyright © 2011-2022 走看看