字典相关函数
字典中每个键值用冒号分隔,每个键值对之间用逗号分隔,格式如下,后面的函数以此举例
dict = {'name':'Bob', 'age':20, 'sex':'boy'}
1、len()
判断字典中元素的个数
len(dict)
输出结果:3
2、str()
以字符串的形式输出字典
str(dict)
输出结果:
"{'age': 20, 'name': 'Bob', 'sex': 'boy'}"
3、clear()
删除字典内的所有元素
dict.clear()
输出结果:
{}
4、items()
返回一个列表,列表中的元素是(键,值)元组
dict.items()
python2中的输出结果:
[('age', 20), ('name', 'Bob'), ('sex', 'boy')]
python3中的输出结果为一个迭代器,可使用list()将其转换为列表:
dict_items([('age', 20), ('name', 'Bob'), ('sex', 'boy')])
5、get(key[, default])
返回指定键的值,如果字典中不包含该键则返回default值
dict.get('name')
print(dict.get('girlfriend'))
dict.get('girlfriend', 'Linda')
输出结果:
'Bob'
None
'Linda'
6、has_key(key)
该函数在python2中使用,如果字典中含有key则返回True,反之返回False
dict.has_key('name')
dict.has_key('girlfriend')
输出结果:
True
False
7、__contains__(key)
该函数在python3中使用,作用和has_key()相同
dict.__contains__('name')
dict.__contains__('girlfriend')
输出结果:
True
False
8、fromkeys(seq[, value])
用于创建新的字典,字典的键是seq序列中的每一个值,value是每个键对应的初始值
seq = ['a', 'b', 'c']
dict = {}
dict1 = dict.fromkeys(seq)
print(dict1)
dict2 = dict.fromkeys(seq, 1)
print(dict2)
输出结果:
{'a': None, 'c': None, 'b': None}
{'a': 1, 'c': 1, 'b': 1}
9、keys()
返回字典的键列表
dict.keys()
python2中的输出结果:
['age', 'name', 'sex']
python3中的输出结果为一个迭代器,可使用list()将其转换为列表:
dict_keys(['age', 'name', 'sex'])
10、values()
返回字典的值列表
dict.values()
python2中的输出结果:
[20, 'Bob', 'boy']
python3中的输出结果为一个迭代器,可使用list()将其转换为列表:
dict_values([20, 'Bob', 'boy'])
11、setdefault(key[, default])
和get()方法类似,返回指定键对应的值,如果key不在字典中则在字典中添加key,值为default
dict.setdefault('name')
dict.setdefault('girlfriend', 'Linda')
print(dict)
输出结果:
'Bob'
'Linda'
{'girlfriend': 'Linda', 'age': 20, 'name': 'Bob', 'sex': 'boy'}
12、update(dict2)
将dict2中的键值更新到目标字典中,如果两个字典中有相同key,则取dict2中的key
dict2 = {'girlfriend':'Linda'}
dict.update(dict2)
print(dict)
输出结果:
{'girlfriend': 'Linda', 'age': 20, 'name': 'Bob', 'sex': 'boy'}
13、pop(key[,default])
删除字典中给定key和其所对应的值,返回值是key对应的值,如果key不在字典中则返回default值。
dict.pop('name')
dict.pop('girlfriend','Linda')
print(dict)
输出结果:
'Bob'
'Linda'
{'age': 20, 'sex': 'boy'}
14、popitem()
随机删除并返回一个键值对
dict.popitem()
print(dict)
输出结果:
('age', 20)
{'name': 'Bob', 'sex': 'boy'}