python中字典的内置方法
2021-03-13 01:30
标签:插入 str 使用 返回字典 键值对 fir false span 迭代 1、radiansdict.clear() 2、radiansdict.copy() 直接赋值和 copy 的区别 说明:dict2 其实是 dict 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict 修改而修改,子对象是浅拷贝所以随 dict 的修改而修改。 3、radiansdict.fromkeys() 4、radiansdict.get(key, default=None) 5、key in dict 6、radiansdict.items() 7、radiansdict.keys() 8、radiansdict.values() 9、radiansdict.setdefault(key, default=None) 10、radiansdict.update(dict2) 11、pop(key[,default]) 12、popitem() python中字典的内置方法 标签:插入 str 使用 返回字典 键值对 fir false span 迭代 原文地址:https://www.cnblogs.com/caiyongjiesmile/p/14057053.html
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}
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]}
功能: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‘ in dictName:
print("键 name 存在 dictName 中")
else:
print("键 name 不存在 dictName 中")
# 检测 age 是否存在
if ‘age‘ in dictName:
print("键 age 存在 dictName 中")
else:
print("键 age 不存在 dictName 中")
# 检测 grade 是否存在
if ‘grade‘ not in dictName:
print("键 grade 不存在 dictName 中")
else:
print("键 grade 存在 dictName 中")
# 检测 Sex 是否存在
if ‘sex‘ not in dictName:
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}
上一篇:python元组
下一篇:python列表中的函数