字典是个什么东西?

1.字典是什么?

dic

{}"键":"值" 别的语言叫"键值对数据"

键:必须是可哈希的类型(不可变动),而且是唯一的

值:任意

字典是无序的:python3.6版本以上会默认定义时的顺序,python3.5以下显示的是随机顺序

字典是可变的:

1.当输入一个新的键值对之后,字典会先检查要添加的键是否存在

如果键在字典中存在就不添加,要是不存在就添加

删:

通过"键"进行删除,pop具有返回值,返回的是被删除的值

字典没有remove

del dic["键"] 删除指定的键值对

dic.clear() 清空

print(dic) 删除整个 字典中的键值对

改:

dic["键"]="这是值 " 键在字典中存在就是修改,不存在就是增加

dic.update(键值对,键值对) update里面的字典级别高,会覆盖掉原来的内容

dic.setdefault("5":5) 键不存在就添加,键存在就不添加

查:

字典的查询只能通过键寻找值,不能通过值寻找键.

dic.setdefault("键")

如果键在字典中存在就返回对键对应的值,如果不存在就报错

print(dic.get("c","b"))获取值的时候可以指定返回的内容(计算和编辑,并赋值),键不存在的时候不会报错

dic = {"1":1,"2":2,"3":3,"4":4}

删除"2",3种方式

添加"5":5,2种方式

修改:"1":10086

查看"3"的值

dic.del("2")

dic.clear

dic.pop("2")

dic["5"] = 5

dic.update("5":5)

dic["1"] = 10086

dic["3"] 没有就会报错

print(dic.keys)

print(dic.values)

for i in dic.key() 高仿列表 :无序无索引

for k,v in dic.items():

​ print(k,v)

for i in dic:

​ print(i,dic(i))

for i, k in enumerate(dic,1): #enumerate 第二个参数是起始数字,默认是0

​ print(i,k)

字典的嵌套:

字典是存储大量的数据的数据类型,容量比列表还要大

字典在在查找值的时候能够更方便快速

字典能够将数据进行关联

字典比较消耗内存

有明确的对应关系时,推荐使用字典,字典一定要用明白

list (1,3,4)

tuple

目前所学,字典是不能转换的

查找字典的嵌套时,按照键去一层一层查找

小数据池 面试和解决做题时的困惑

深度拷贝 面试必问

周五考试考到到函数之前

1.字典:
dict -- {} {"key":'value',"a":1}
dic = {}

字典的无序的,字典是可变的

字典的键 -- 可哈希(不可变),唯一

字典的值 --  任意
 增:

    dic["键"] = "值"

    dic.setdefault("键","值")  # 键不存在就添加,存在就不填加.

删:
     pop("键")

     del dic["键"]
    dic.clear()  清空

 改:

     dic["键"] = "值"

    dic.update({"a":1,"b":1})

     # update(里边的级别高),会把之前内容中相同的key对应的值覆盖

     # 没有的话会填加

 查:

     get("键","自己指定返回的内容")  # 不存在返回的是None

     dic["键"]   #不存在就报错

     dic.setdefault("键")            # 查询
 其他方法:

     for i in dic:

        print(i)   循环的是字典的键
    for i in dic.keys():

        print(i)
    dic.keys()   --  返回的是一个高仿列表 --  没有索引

    dic.values() --  返回的是一个高仿列表 -- 没有索引

    dic.items()  --  返回的是一个高仿列表,列表里存放的是元组类型,
     元组第一个元素是键,第二个元素是值
     
li = [1,2,3,4,54]
for i,k in enumerate(li):  # enumerate 第二个参数默认不写就是0    -- 枚举
#     print(i,k)
    解构:

   a,b = b,a    --- 交换的是指向

     a,b = 1,2

     a,b = (45,6)

     a,b = [1,4]

     a,b = {"s":1,"a":1}  # 字典拆包后的结果是键赋值给了a和b的变量

     enumerate() # 枚举   给你要迭代对象,加一个序号  默认是从0开始,可以自己指定

    字典的嵌套:
       查找的字典的嵌套时,按照键去一层一层的查找
原文地址:https://www.cnblogs.com/ayongxin93/p/11041183.html