Python数据类型之四(字典)

Posted zhouxinyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据类型之四(字典)相关的知识,希望对你有一定的参考价值。

字典: 格式:dict{}
数据类型划分:可变数据类型 与 不可变数据类型

可变数据类型 称为:可哈希元组 bool int str
不可变数据类型 称为:不可哈希 如:list bict set

dict key :必须是不可变数据类型
value : 任意数据类型

dict 的优点:
二分查找去查询 (速度快)
存储大量的关系型数据
3.5版本之前是无序的。3.6版本以后好像是有序的。

创建一个dict:
dic = {
        name:[taibai ,alexC,AbC ,egon, Ritian, Wusir,  aqc],
        py9:{
                time:1213
                learn_money:19800
                addr:CBD

                },
        age:21
        }

增:

增:
dic[name] = 小刚 #无序添加。有键值对,直接覆盖。
print(dic)
#输出:{‘age‘: 20, ‘sec‘: ‘male‘, ‘name‘: ‘小刚‘}

dic[high] = 185 #无序添加。没有键值对,直接添加新内容。
print(dic)
#输出:{‘high‘: 185, ‘age‘: 20, ‘name‘: ‘小明‘, ‘sec‘: ‘male‘}

使用setdefault增,PS:当字典中有键值对时不会做任何改变。没有时才会添加。
dic.setdefault(weight) #添加新的键。
print(dic)
#输出:{‘name‘: ‘小明‘, ‘weight‘: None, ‘age‘: 20, ‘sec‘: ‘male‘}

dic.setdefault(weight,150) #添加新的键。还有 值。
print(dic)
#输出:{‘name‘: ‘小明‘, ‘age‘: 20, ‘weight‘: ‘150‘, ‘sec‘: ‘male‘}

dic.setdefault(name,小刚) #没有任何变化
print(dic)

删:

dic = {name:小明,age:20,sec:male}

pop 有返回值,按 键 删除。
print(dic.pop(name)) #打印出 删掉的内容
print(dic) #打印删除后的列表

print(dic.pop(abc,自定义)) #后边自定义位置默认为 None 为了在不确定是否有‘abc‘情况下 防止报错
输出:自定义

print(dic.pop(abc))
#报错:  File "G:/lod_boy_S9_Python/5Day/test.py", line 49, in <module>
        print(dic.pop(abc))
        KeyError: abc
print(dic)

print(dic.popitem()) #有返回值 随即删除
print(dic)

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

del dic  #删除字典。会报错。
print(dic)

del dic[name] #del 也可以删除 键值对
print(dic)

改:

dic = {name:小明,age:16,sec:male}
dic2 = {age:20,sec:male,love:moli}

dic[age] = 16 #通过 键 修改 值
print(dic)

dic2.update(dic) #将dic1的内容 添加到dic2 遵守 没有就添加,有就替换的原则。
print(dic2)
print(dic)

查:

dic = {age:20,sec:male,love:moli}

print(dic.keys()) #列表类型 打印键
print(dic.values()) #列表类型 打印值
print(dic.items()) #无序的情况下 已 元组类型 打印出 键值对

for i in dic : # 默认已 str类型 打印出 键
    print(i)

print(dic.get(张三,该用户不存在))  #在不确定的情况下 可以查询该键是否存在 并且不报错

for k,v in dic.items() :  #去除元组的括号 分别将 键 值 赋给 k v
    print(k , v)

 















以上是关于Python数据类型之四(字典)的主要内容,如果未能解决你的问题,请参考以下文章

objective-c 中数据类型之四 字典(NSDictionary)

13 个非常有用的 Python 代码片段

python编程入门之四:列表

python编程入门之四:列表

Python代码阅读(第19篇):合并多个字典

Python snippet(代码片段)