zoukankan      html  css  js  c++  java
  • 稍微比较全的那种字典

    字典

    无序的

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

    lst=["刘德华","张学友","林俊杰","胡歌"]
    lst2=["帅","酷","厉害","好"]
    print(lst[0]+lst[0])
    结果
    刘德华 帅
    

    定义一个字典:

    dic={"宋佳":男,"分数":80,"性格":"爱笑"}
    字典中每一个逗号分割叫一个元素"宋佳”是一个键:男是一个值--键值对
    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    print(dic)
    结果
    {'宋佳': '男', '分数': 80, '性格': '爱笑'}
    

    字典的键:

    可哈希的--不可变的数据类型--避免哈希冲突使用了 开放寻址法

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

    字典的值可以任意,字典的键要求唯一 如果有重复后面的值将会覆盖前面的值 字典是可变的类型数据 可以修改

    1. 暴力添加

      2.setdefault

    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    1.暴力添加
    dic["喜好"]="唱跳"
    print(dic)
    结果
    {"宋佳":"男","分数":80,"性格":"爱笑","喜好":"唱跳"}
    ##  dic[键]=[值]
    
    2.setdefault
    dic.setdefault("喜好","唱跳")
                     键    值
    这个键去字典查询,如果不存在 就添加 ;存在 就不添加
    

    1. del通过字典键 删除键值对
    2. pop 通过字典的键 删除键值对 返回值:返回的是被删除的值
    3. clear 清空 清空字典
    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    del.dic["喜好"]  #删除键 删除键值对
    
    
    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    dic.pop("分数")  #删除键 达到删除键值对效果
    
    
    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    dic.clear()  #清空列表
    
    

    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    dic["分数"]=60
    #  字典中没有某个键值的时候就是添加 当键在字典中存在就是修改
    有则改 无则加
    
    update: 更新
    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    dic.update(dic)
    # uodate括号中的字典级别高于update前面的字典
    
    

    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    for i in dic
    	print(i)
        # 循环获取的是字典中每个键值对的键
        
    get
    print(dic.get("宋佳"))
    #  通过键获取值 ,如果不存在字典中返回None 不存在就会报错
    存在就是显示
    

    其他操作:

    dic={"宋佳":"男","分数":80,"性格":"爱笑"}
    print(dic.keys())  #高仿列表--dict keys(['宋佳'分数','性格'])   获取的是键
    print(dic.values()) 获取的是键
    
    for i in dic:
        print(i)  #获取的是键
        print(i,dic.get(i))# 获取所有键和值
        
        ## 高仿列表支持for循环 不支持索引 :
        for i in dic.keys():
            print(i)
            print(i,dic.get(i))
    print(del.keys()[0])
    #vluse获取字典所有的值  keys获取所有键  items获取的是键和值
    
    print(dic.items())
    

    解构

    a,b=10,20
    a,b=b,a
    print(a,b)
    结果
    a=20
    b=10
    a,_,b=(3,4,5)
    print(a,b)
    a=3
    b=5  #等号后面的值和前面的变量名要一一对应
    a=10,12 #本质就是一个元组
    print(a)
    (10,12)
    
    a,b={1:"a",2:"b"}
    print(a,b)
    1 2 
    
    a,b="23"
    print(a,b)
    2 3 
    ###
    keys--获取字典中所有的键 存放在一个高仿列表中
    values--获取字典中所有的值  存放在一个高仿列表中
    items --获取字典中所有的键和值 存放在一个高仿列表里的元祖
    
    #!!!获取每个元素的键和值
    for k,v in dic.items():
        print(k,v)
    
    ```不可变数据类型/可变数据类型
    数据类型	可变/不可变
    整型	不可变
    字符串	不可变
    元组	不可变
    列表	可变
    集合	可变
    字典	可变
  • 相关阅读:
    0001_two_sum
    shell 命令
    先验概率,后验概率,似然函数,最大似然估计【待整理】
    numpy学习笔记
    python: __slots__ 解析 (待整理)
    ubuntu,win7双系统问题
    安装sogou输入法
    pytorch安装
    稀疏向量的一些内容
    extern c
  • 原文地址:https://www.cnblogs.com/sjf981012-/p/11164879.html
Copyright © 2011-2022 走看看