python内置字典_python中字典的内置方法

Python字典包含了以下内置方法:

功能:字典 clear() 函数用于删除字典内所有元素。

语法:dict.clear()

参数:无

返回值:没有任何返回值。

dict = {'Name': 'Zara', 'Age': 7}print ("字典长度 : %d" % len(dict)) #字典长度 : 2

dict.clear()print ("字典删除后长度 : %d" % len(dict)) #字典删除后长度 : 0

功能:字典 copy() 函数返回一个字典的浅复制。

语法:dict.copy()

参数:无

返回值:返回一个字典的浅复制

dict = {'Name': 'Zara', 'Age': 7}

dict2=dict.copy()print ("新复制的字典为 :",dict2) #输出:新复制的字典为 : {'Name': 'Zara', 'Age': 7}

直接赋值和 copy 的区别

dict = {'Name': 'Zara', 'Age': 7, 'num':[1,2,3]}

dict2=dict

dict3=dict.copy()#浅拷贝: 引用对象

print ("新复制的字典dict2为 :",dict2) #输出:新复制的字典dict2为 : {'Name': 'Zara', 'Age': 7, 'num':[1,2,3]}#浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用

print ("新复制的字典dict3为 :",dict3) #输出:新复制的字典dict3为 : {'Name': 'Zara', 'Age': 7, 'num':[1,2,3]}

#修改数据

dict['Name'] = '张三'dict['num'].remove(2)print('修改数据后的字典dict为:',dict) #输出:修改数据后的字典dict为: {'Name': '张三', 'Age': 7, 'num': [1, 3]}

#输出结果

print('dict为:',dict) #输出:dict为: {'Name': '张三', 'Age': 7, 'num': [1, 3]}

print('dict2为',dict2) #输出:dict2为 {'Name': '张三', 'Age': 7, 'num': [1, 3]}

print('dict3为',dict3) #输出:dict3为 {'Name': 'Zara', 'Age': 7, 'num': [1, 3]}

说明:dict2 其实是 dict 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict 修改而修改,子对象是浅拷贝所以随 dict 的修改而修改。

功能:fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

语法:dict.fromkeys(seq[,value])

参数:

seq:字典键值列表。

value: 可选参数, 设置键序列(seq)对应的值,默认为 None。

返回值:返回一个新字典。

seq = ('name', 'age', 'sex')

dict=dict.fromkeys(seq)print("新的字典为 : %s" % str(dict)) #输出:新的字典为 : {'name': None, 'age': None, 'sex': None}

dict= dict.fromkeys(seq,10)print("新的字典为 : %s" % str(dict)) #输出:新的字典为 : {'name': 10, 'age': 10, 'sex': 10}

功能:get() 函数返回指定键的值。

语法:dict.get(key,default=None)

参数:

Key:字典中要查找的键。

default: 如果指定的键不存在时,返回该默认值。

返回值:返回指定键的值,如果键不在字典中返回默认值 None 或者指定的默认值。

dict={'name':'张三','age':13,'grade':7}

dict1= dict.get('name')print ("name 值为 : %s" % dict.get('name')) #输出:name 值为 : 张三

功能:字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。

而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。

语法:key in dict

参数:

Key:要在字典中查找的键。

返回值:如果键在字典里返回true,否则返回false。

dictName = {'name':'张三','age':13,'grade':7}#检测 name 是否存在

if 'name' indictName:print("键 name 存在 dictName 中")else:print("键 name 不存在 dictName 中")#检测 age 是否存在

if 'age' indictName:print("键 age 存在 dictName 中")else:print("键 age 不存在 dictName 中")#检测 grade 是否存在

if 'grade' not indictName:print("键 grade 不存在 dictName 中")else:print("键 grade 存在 dictName 中")#检测 Sex 是否存在

if 'sex' not indictName:print("键 sex 不存在 dictName 中")else:print("键 sex 存在 dictName 中")

输出:

键 name 存在 dictName 中

键 age 存在 dictName 中

键 grade 存在 dictName 中

键 sex 不存在 dictName 中

功能:items() 方法以列表返回可遍历的(键, 值) 元组数组。

语法:dict.items()

参数:无

返回值:返回可遍历的(键, 值) 元组数组。

dictName = {'name':'张三','age':13,'grade':7}print(dictName.items()) #输出:dict_items([('name', '张三'), ('age', 13), ('grade', 7)])

功能:字典 keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。

语法:dict.keys()

参数:无

返回值:返回一个迭代器。

dictName = {'name':'张三','age':13,'grade':7}#获取字典中key值的迭代器

print("返回字典dictName中的key值:",dictName.keys()) #返回字典dictName中的key值: dict_keys(['name', 'age', 'grade'])

#将迭代器转为列表

print(list(dictName.keys())) #['name', 'age', 'grade']

功能: values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。

语法:dict.values()

参数:无

返回值:返回迭代器。

dictName = {'name':'张三','age':13,'grade':7}#获取字典中 value 值的迭代器

print("返回字典dictName中的value值:",dictName.values()) #返回字典dictName中的value值: dict_values(['张三', 13, 7])

#将迭代器转为列表

print(list(dictName.values())) #['张三', 13, 7]

功能:setdefault() 方法和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。

语法:dict.setdefault(key,default=None)

参数:

Key:查找的键值。

default: 键不存在时,设置的默认键值。

返回值:如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。

dictName = {'name':'张三','age':13,'grade':7}print(dictName) #输出:{'name': '张三', 'age': 13, 'grade': 7}

print("age 键的值为 : %s" % dictName.setdefault('age', None)) #输出:age 键的值为 : 13

print("sex 键的值为 : %s" % dictName.setdefault('sex', '男')) #输出:sex 键的值为 : 男

print("新字典为:", dictName) #输出:新字典为: {'name': '张三', 'age': 13, 'grade': 7, 'sex': '男'}

功能:update()函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。

语法:dict.update(dict2)

参数:

dict:添加到指定字典dict里的字典。

返回值:没有任何返回值。

dictName = {'name':'张三','age':13,'grade':7}

dictName2= {'Sex': 'female'}

dictName.update(dictName2)print("更新字典 dictName",dictName)#更新字典 dictName {'name': '张三', 'age': 13, 'grade': 7, 'Sex': 'female'}

功能:pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

语法:dict.pop(key[,dafault])

参数:

key:要删除的键值。

default:如果没有 key,返回 default 值

返回值:返回被删除的值。

dictName = {'name':'张三','age':13,'grade':7}

Name= dictName.pop('name')print(Name) #输出:张三

print(dictName.pop('age')) #输出:13

功能:字典 popitem() 方法随机返回并删除字典中的最后一对键和值。

语法:dict.popiltem()

参数:无

返回值:返回一个键值对(key,value)形式,按照 LIFO(Last In First Out 后进先出法) 顺序规则,即最末尾的键值对。

dictName = {'name':'张三','age':13,'grade':7,'sex':'男'}print(dictName) #输出:{'name': '张三', 'age': 13, 'grade': 7, 'sex': '男'}

Name =dictName.popitem()print(Name) #输出:张三

print(dictName) #输出:{'name': '张三', 'age': 13, 'grade': 7}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值