Python字典内置函数和方法

Python字典内置函数和方法:

注:使用了 items、values、keys 返回的是可迭代对象,可以使用 list 转化为列表。

len(字典名):

返回键的个数,即字典的长度

# len(字典名):
# 返回键的个数,即字典的长度

dic = {'a':123,'b':456,'c':789,'d':567}
print(len(dic))
# 4

str(字典名):

将字典转化成字符串

# str(字典名):
# 将字典转化成字符串
dic = {'a':123,'b':456,'c':789,'d':567}
print(str(dic))
# {'a': 123, 'b': 456, 'c': 789, 'd': 567}

type(字典名):

查看字典的类型

# type(字典名):
# 查看字典的类型
dic = {'a':123,'b':456,'c':789,'d':567}
print(type(dic))
# <class 'dict'>

内置方法:

clear( ):

删除字典内所有的元素

# clear( ):
# 删除字典内所有的元素
dic = {'a':123,'b':456,'c':789,'d':567}
dic.clear()
print(dic)
# {}

copy( ):

浅拷贝一个字典

# copy( ):
# 浅拷贝一个字典 
dic = {'a':123,'b':456,'c':789,'d':567}
dic_two = dic.copy()
print(dic)
# {'a': 123, 'b': 456, 'c': 789, 'd': 567}
print(dic_two)
# {'a': 123, 'b': 456, 'c': 789, 'd': 567}

fromkeys(seq[,value]):

创建一个新字典,seq作为键,value为字典所有键的初始值(默认为None)

# fromkeys(seq[,value]):
# 创建一个新字典,seq作为键,value为字典所有键的初始值(默认为None)
dic = dict.fromkeys('abcd')
# 默认为 None
print(dic)
# {'a': None, 'b': None, 'c': None, 'd': None}

dic = dict.fromkeys('abc',1)
print(dic)
# {'a': 1, 'b': 1, 'c': 1}

get(key,default = None):

返回指定的键的值,如果键不存在,则返会 default 的值

# get(key,default = None):
# 返回指定的键的值,如果键不存在,则返会 default 的值
dic = {'a':1,'b':2,'c':3,'d':4}
print(dic.get('b'))
# 2
print(dic.get('e',5))
# 5

成员运算符 in、not in:

查看 键 是否在字典中

# 成员运算符 in、not in:
# 查看 键 是否在字典中
dic = {'a':1,'b':2,'c':3,'d':4}
print('a' in dic)
# True
print('a' not in dic)
# False

items( ):

返回键值对的可迭代对象,使用 list 可转换为 [(键,值)] 形式

# items( ):
# 以列表返回可遍历的(键值对)元组 的值
dic = {'a':1,'b':2,'c':3,'d':4}
print(dic.items())
# dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
print(list(dic.items()))
# [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

keys( ):

返回一个迭代器,可以使用 list() 来转换为列表

# keys( ):
# 返回一个迭代器,可以使用 list() 来转换为列表

dic = {'a':1,'b':2,'c':3,'d':4}
print(dic.keys())
# dict_keys(['a', 'b', 'c', 'd'])
print(list(dic.keys()))
# ['a', 'b', 'c', 'd']

setdefault(key,default = None):

如果键存在于字典中,则不修改键的值

如果键不存在于字典中,则设置为 default 值

# setdefault(key,default = None):
# 如果键存在,则不修改键的值
dic = {'a':1,'b':2,'c':3,'d':4}
dic.setdefault('a',8)
print(dic)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}

# 如果键不存在于字典中,则设置为 default 值
dic = {'a':1,'b':2,'c':3,'d':4}
dic.setdefault('e',5)
print(dic)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

update(字典对象):

将字典对象更新到字典中

# update(字典对象):
# 将字典对象更新到字典中
dic = {'a':1,'b':2,'c':3,'d':4}
dic_two = {'f':6}
dic.update(dic_two)
print(dic)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 6}

values( ):

返回一个可迭代对象,使用 list 转换为字典中 值 的列表

# values( ):
# 使用 list 转换为字典中 值 的列表
dic = {'a':1,'b':2,'c':3,'d':4}
print(list(dic.values()))

pop(key[,default]):

删除字典中 key 的值,返回被删除的值。key 值如果不给出,则返回default的值

# pop(key[,default]):
# 删除字典中 key 的值,返回被删除的值。key 值如果不给出,则返回default的值
dic = {'a':1,'b':2,'c':3,'d':4}
print(dic.pop('a',6))
# 1 , 返回删除的值
print(dic)
# {'b': 2, 'c': 3, 'd': 4}
print(dic.pop('e','字典中没有该值'))
# 字典中没有该值 , 如果字典中不存在该键,则返回 default 的值
print(dic)
# {'b': 2, 'c': 3, 'd': 4}

popitem( ):

随机返回一个键值对(通常为最后一个),并删除最后一个键值对

# popitem( ):
# 随机返回一个键值对(通常为最后一个),并删除最后一个键值对
dic = {'a':1,'b':2,'c':3,'d':4}
print(dic.popitem())
# ('d', 4)
print(dic)
# {'a': 1, 'b': 2, 'c': 3}
print(dic.popitem())
# ('c', 3)
print(dic)
# {'a': 1, 'b': 2}