322字典

一、字典

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

key-value
储存大量的数据,而是关系型数据,查询速度快。

数据类型分类:
可变数据类型(不可哈希):list,dict,set。
不可变数据类型(可哈希):int,bool,str,tuple.
字典的键:不可变数据类型。
字典的值:任意数据类型。
容器类型:
容器类(承载各种数据类型):list,tuple,dict。.
字典的键是唯一的。
字典的顺序:
3.5之前,字典是无序的。
3.6开始,字典创建的时候,按照一定的顺序插入的数值,看起来是有序的。
增:
第一种: 有则覆盖,无则添加
dic = {"name":"jin",
"age":18,
"sex":"male",
}
dic['habby']='888'
print(dic)
dic["name"]='111'
print(dic)
第二种 setdeafult 无则添加,有则不变。
dic.setdefault('hobby','888')
print(dic)
dic.setdefault('age','2')
print(dic)
 删
pop print(dic.pop('键'))删除值,有返回值。
print(dic.pop('age'))
print(dic)

del dic 删除字典
del dic['name']安’键’删除
print(dic)
clear 清空字典dic.clear()
dic.popitem()  # 随机删除 有返回值
 改
dic['sex']='nv' 给键赋值改
两个字典的改

dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic) # 将dic键值对,覆盖并添加到dic2
# print(dic)
print(dic2)


print(dic['name'])
print(dic['name1']) # 报错
print(dic.get('name'))
print(dic.get('name1')) # 默认返回None
print(dic.get('name1','没有此键值对')) # 默认返回None
其他方法:
keys():
print(dic.keys())调出字典中所有的键,组成新的数据类型dic.keys()
for i in dic.keys():   可以循环输出   与相同for i in dic:
print(i) print(i)
dic.values() 同上,调出字典中所有的值,可以循环输出

dic.items()同上,调出字典中所有的键值,可以循环输出
特殊类型 dict 转化 成list
print(list(dic.keys()) or dic.values() or dic.items())
概念:分别赋值
a,b = 2,3
print(a,b)
a,b = (2,3)
print(a,b)
a,b = [2,3]
print(a,b)
 
a = 4 ,b = 5用一行代码使a = 5 ,b = 4
a = 4
b = 5
a,b = b,a
print(a,b)

#此时,在键对中,循环2个变量,第一个表示键,第二个是对。
for k,v in dic.items():

print(k,v)
 
 
 
 
 
 
 






posted @ 2018-03-22 16:11  Murray穆  阅读(165)  评论(0编辑  收藏  举报