Python字典操作

#字典类型
#创建字典
#空字典
var = dict()
print(var,type(var))

var = {}
print(var,type(var))

#创建具有多个数据的字典
#1.
var = {'':'black','':'white','':'blue'}
print(var,type(var))
#2.
var = dict({'':'black','':'white','':'blue'})
print(var,type(var))
#3.
var = dict(黑 = 'black',白 = 'white',蓝 = 'blue')
print(var,type(var))
#4.
var = [
    ['','black'],
    ['','white'],
    ['','blue']
]
result = dict(var)
print(result,type(result))
#5.
keys = ['','','']
values = ['black','white','blue']
result = dict(zip(keys,values))
print(result,type(result))

#元素 -> 键值对 -> 键+值
#基本操作
var = {'赵云':'子龙','庞统':'士元','郭嘉':'奉孝','鲁肃':'子敬'}
#访问字典:
print(var['赵云'])

#修改字典
var['郭嘉'] = '天妒'
print(var)

#删除元素
del var['郭嘉']
print(var)

#添加元素
var['周瑜'] = '公瑾'
print(var)

#序列操作
#成员检测 ->针对于键的操作而不是值
var = {'赵云':'子龙','庞统':'士元','郭嘉':'奉孝','鲁肃':'子敬'}
result = '士元' in var
print(result)

#len()  检测字典中元素的个数
var =  {'赵云':'子龙','庞统':'士元','郭嘉':'奉孝','鲁肃':'子敬'}
result = len(var)
print(result)

#max()  获取字典中最大的键如果不是数字键 获取最大编码的值
var = {'a':1,'b':2,'c':3,'':12}
result = max(var)
print(result)

#min() 获取字典中最小的键如果不是数字键 获取最小编码的值
var = {'a':1,'b':2,'c':3,'':12}
result = min(var)
print(result)

#字典的遍历
var = {'赵云':'子龙','庞统':'士元','郭嘉':'奉孝','鲁肃':'子敬'}

#方法1:先遍历键,再使用变量和键来获取对应的值
for i in var:
    print(i,var[i])

#方法2:同时遍历键和值
result = var.items()
print(result,type(result))#不是标准的列表类型
for k,v in var.items():
    print(k,v)

#字典推导式
var = {'ag':'sfsf','bg':'fsdf','cg':'df'}

#普通推导式
result = {k:v for k,v in var.items()}
print(result)

#带有判断条件的推导式
result = { k:v for k,v in var.items() if len(v) == 2}
print(result)

#多循环的字典推导式
girls= {'zb':'bo','mm':'mei','jj':'jun'}
boys = {'ll':'le','ff':'fei','ji':'jiao'}

result = { g+b:gv +bv for g,gv in girls.items() for b,bv in boys.items()}
print(result)

#字典相关函数
var = {'孙行者':'孙悟空','沙和尚':'沙悟净','猪八戒':'猪悟能'}
#clear 清空字典
var.clear()
print(var,id(var))

#copy() 复制字典
newvar = var.copy()
print(newvar,id(newvar))

#fromkeys()  使用序列(键)和指定的值(值)制作一个字典
list = ['fda','fsd','jgj','hfg']
result = dict.fromkeys(list,'小鸟')
result = {}.fromkeys(list,'小鸟')
print(result)

#get()  获取字典中指定键的值
result = var.get('猪八戒','默认值')#result =var['猪八戒']
print(result)

#setdefault()  向字典中添加一个元素[不存在的键则添加,存在的键不做任何操作]
var.setdefault('小白龙','小白龙')
print(var)

#update()  修改字典中的元素
var.update(孙行者 = '孙猴子')
print(var)

var.update({'孙行者':'齐天大圣','猪八戒':'天蓬元帅','唐僧':'唐玄奘'})
print(var)

#pop()  删除字典中指定的元素
result = var.pop('唐僧')
print(var)
print(result)

#popitem()  随机删除字典中的一个元素
result = var.popitem()
print(var)
print(result)

#keys()  获取字典中的所有键组成的容器
var = {'苹果':'Apple','':'pear'}
result = var.keys()
print(result)
for i in result:
    print(i)

#values()  获取字典中的所以值组成的容器
result = var.values()
print(result)

#items()  获取字典中的所有键和值组成的2级容器
result = var.items()
print(result)

 

posted @ 2017-11-19 15:40  Sun阳  阅读(1606)  评论(0编辑  收藏  举报