python 字典的一些简单操作

from numpy.core._multiarray_umath import square

d={'name':'xiaoming','age':20}

#
# #获取元素
print(d['name'])#有就返回对应的值,没有就报Keyerror错
print(d.get('name'))#xiaoming
print(d.get('name','默认值'))#xiaoming(有就返回对应的值,没有就返回None,可以指定)
print(d.get('namexx','默认值'))#默认值(有就返回对应的值,没有就返回None,可以指定)

#修改
d['name']='二狗'
print(d)#{'name': '二狗', 'age': 20}

#键不存在就添加键值对
d['height']=180
print(d)#{'name': '二狗', 'age': 20, 'height': 180}

#更新:存在的键会被覆盖,不存在就添加
d.update({'name':'dahua','weighht':60})#方法一:打印d的结果{'name': 'dahua', 'age': 20, 'height': 180, 'weighht': 60}
# d.update(name='dahua',weight=60)#方法二:打印d的结果{'name': 'dahua', 'age': 20, 'height': 180, 'weight': 60}
#从打印结果可以看出方法一与方法二,打印结果一致
print(d)

#删除元素
del d['age']#删除元素#{'name': 'xiaoming'}
# d.pop('age')
print(d)#{'name': 'xiaoming'}20
# d.clear()#清空字典
# d.keys()
# print(d.keys())#打印字典的键
# print(d.values())#打印字典的值
a=zip(d.keys(),d.values())#使用zip组合键值
b=[]
for i in a:
   b.append(i)
print(b)#列表里面嵌套元组
print(dict(b))#直接加dict,把b转化为字典


print(d.items(),type(d.items()))#dict_items([('name', 'xiaoming'), ('age', 20), ('height', 180)]) <class 'dict_items'>(所有(key,value)元组列表)
# d.popitem()#随机删除一个键值对
# print(d)

#统计键值对数量

print(len(d))

#合并字典

temp_dict={'gender':'男','age':30}
d.update(temp_dict)
#如果被合并的字典里面包含已经存在的键值对,会被覆盖
d.setdefault('class','三年级二班')#key值不存在创建,({'name': 'xiaoming', 'age': 30, 'height': 180, 'gender': '男', 'class': '三年级二班'})
d.setdefault('class','三年级三班')#key值存在不会修改数据,({'name': 'xiaoming', 'age': 30, 'height': 180, 'gender': '男', 'class': '三年级二班'})
print(d)#{'name': 'xiaoming', 'age': 30, 'height': 180, 'gender': '男'}


#字典遍历
#方法一
for k,v in d.items():
    print('%s--%s'%(k,v))

#方法二
for k in d:
    print('%s--%s' % (k,d[k]))

 

上一篇:express 基础


下一篇:Express全系列教程4-作为前端和后台的中间层