python内置函数之字典详解

#
#dic.clear()删除dic中的所有元素
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679'}
print(dic)
dic.clear()
print(dic)
# ############if key1 in adict: Python3以后删除了has_key()方法!
# #dict.has_key(key)如果key存在dic中返回true
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
# dic.has_key('name')
# ##dic.has_key('name')
#替代
if 'name' in dic:
print('true')
else:
print('false') #true
#dic.get(key,default=None)
print(dic.get('name')) #zhangsan
print(dic.get('score2')) #None
print(dic.get('company')) #空
#dict.items() 返回dic(key,value)元组的一个迭代版本
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
dic.items()
print(dic)
print(dic.items()) #dict_items([('name', 'zhangsan'), ('school', 'tsinghua'), ('grade', 'junior'), ('score', '679'), ('company', '')])
for key,value in dic.items():
print( key , value)
# name
# zhangsan
# school
# tsinghua
# grade
# junior
# score
# 679
# company
#dict.fromkeys(seq,val=None) 创建并返回一个新字典
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
print(dict.fromkeys('salary'))#{'s': None, 'a': None, 'l': None, 'r': None, 'y': None}
# print(dic)
a=[1,2,3]
print(dict.fromkeys(a,'BUAA')) #{1: 'BUAA', 2: 'BUAA', 3: 'BUAA'}
#dic.copy() 返回dic的一份浅拷贝
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
dicp=dic.copy()
print(dicp) #{'name': 'zhangsan', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': ''}
dic['name']='wangwu'
print(dic) #{'name': 'wangwu', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': ''}
print(dicp) #{'name': 'zhangsan', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': ''}
#**********************************************
#直接复制和浅copy的区别
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
dicp2=dic #引用对象
dic['name']='wangwu'
print(dic) #{'name': 'wangwu', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': ''}
print(dicp2) #{'name': 'wangwu', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': ''}
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#dic.update(dict2) 将dict2的jianzhidui添加到dic
dic2={'father':'zhanguoli','mother':'wange','child':'xiaoming'}
dic.update(dic2) #{'name': 'wangwu', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': '', 'father': 'zhanguoli', 'mother': 'wange', 'child': 'xiaoming'}
print(dic)
# #dict.pop(key[,default]) 类似于get,但删除并返回dict[key],如果key不存在于dict中,且未给出default,则抛出KeyError
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':'dfh'}
print(dic.pop('name')) #zhangsan
print(dic) #{'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': 'dfh'}
print(dic.pop('salary','10K')) #10K
print(dic)
#dic.setdefault(key,default=None) 类似于get(),但key若果不存在与dic中,则设置dic[key]=deafult
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':'dfh'}
dic.setdefault('deposit','10K') #setdefault() takes no keyword arguments
print(dic) #{'name': 'zhangsan', 'school': 'tsinghua', 'grade': 'junior', 'score': '679', 'company': 'dfh', 'deposit': '10K'}
#^^^^^^^^^^^^^^
# dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':'dfh'}
# dic.setdefault('deposit',default=None) #setdefault() takes no keyword arguments
# print(dic) ######错误#setdefault() takes no keyword arguments
# print(dic.pop('salary',default='10K' )) #KeyError: 'salary'
#dict.iter*() 返回一个迭代器而非是一个列表 iteritems iterkeys itervalues
dic={'name':'zhangsan','school':'tsinghua','grade':'junior','score':'679','company':''}
print(dic.keys()) #dict_keys(['name', 'school', 'grade', 'score', 'company'])
print(dic.values()) #dict_values(['zhangsan', 'tsinghua', 'junior', '679', ''])
for i in dic.keys():
print(i)
# name
# school
# grade
# score
# company
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值