字典是用{}来表示的,里面采用key:value的形式存储数据。比如{‘name’:’超人’,’age’:500},要注意key的类型必须是不可变的类型,python对key进行哈希函数运算,根据计算结果决定value的存储地址,所以字典是无序存储的。字典的增删改查如下:
print('输出结果如下')
dic = {'name':'刘先生','age':'39','job':'工程师','marr':'已婚'}
dic['job'] = 'python全栈工程师'
print(dic)
dic['job666'] = '指定的key不存在'
print(dic)
dic.setdefault('name','超人')
print(dic)
dic.setdefault('lover','小姐姐')
print(dic)
输出结果如下
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚'}
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在', 'lover': '小姐姐'}
dic = {'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在', 'lover': '小姐姐'}
res = dic.pop('lover')
print('输出结果如下')
print(dic,res)
res2 = dic.pop('小三儿','查无此人')
print(dic,res2)
dic.clear()
print(dic)
del dic
输出结果如下
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'} 小姐姐
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'} 查无此人
{}
dic = {'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
dic['job666'] = '不存在吗?'
print('输出结果如下')
print(dic)
输出结果如下
{'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '不存在吗?'}
dic = {'name': '刘先生', 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
dic['name']
print(dic.keys())
print(dic.values())
print(dic.items())
for k in dic.keys():
print(k,end=' ')
print('\n-----------------------------')
for v in dic.values():
print(v,end = ' ')
print('\n-----------------------------')
for k,v in dic.items():
print(k,v,end=' ')
字典的其他方法
dic = {'name': [1,2], 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
dic2 = dic.copy()
seq = [12,33,55,'name','age']
dic = dict.fromkeys(seq,'value')
print('输出结果为:')
print(dic)
输出结果为:
{12: 'value', 33: 'value', 55: 'value', 'name': 'value', 'age': 'value'}
dic = {'name': [1,2], 'age': '39', 'job': 'python全栈工程师', 'marr': '已婚', 'job666': '指定的key不存在'}
res = dic.get('name')
print(res)
res = dic.get('name8','查无此人')
print(res)
[1, 2]
查无此人
dic1 = {'name':'张飞','age':77}
dic2 = {'age':88,'job':'将军'}
dic1.update(dic2)
print(dic1)
{'name': '张飞', 'age': 88, 'job': '将军'}