1.创建字典
- 字典里的元素由“键-值” 对组成
- 键和值用冒号隔开
- 整个字典用花括号括起来
- 键必须是不可变类型 数、字符、元组
- 键必须是唯一的 值可以重复
- 空字典 {}:什么内容都没有的字典
-?函数dict
>>>dict1 = {'非常分散':40,'分散':0,'集中':0,'非常集中':0}
>>>print(dict1)
{'非常分散': 40, '分散': 0, '集中': 0, '非常集中': 0}
>>>dict1['非常分散']
40
>>>dict2 = {}
>>>print(dict2)
{}
>>>list1 = [('大一','Python'),('大三','Hadoop')]
>>>dict3 = dict(list1)
>>>print(dict3)
{'大一': 'Python', '大三': 'Hadoop'}
2.基本的字典操作
- d[k]:返回与键k相关联的值
>>>dict1 = {'非常分散':40,'分散':0,'集中':0,'非常集中':1}
>>>dict1['非常集中']
1
- d[k] = v:将值v关联到键k
>>>dict1['分散'] = 5
>>>dict1
{'非常分散': 40, '分散': 5, '集中': 0, '非常集中': 1}
- del d[k]:从字典中删除键为k的项
>>>del dict1['集中']
>>>dict1
{'非常分散': 40, '分散': 5, '非常集中': 1}
- k in d:检查字典中是否包含键为k的项
>>>'非常分散' in dict1
True
>>>'集中' in dict1
False
- len(d):返回字典中项 (键-值对)的数
>>>len(dict1)
3
3.字典方法
- clear
就地删除所有的字典项
返回:None
>>>message = {'地址':'无','尾号':0000,'爱好':'游泳','年龄':18}
>>>return_value = message.clear()
>>>message
{}
>>>print(return_value)
None
?-?copy
拷贝字典(浅复制)
#浅复制
>>>a = {'地址':'无','尾号':1234,'爱好':['游泳','乒乓球','羽毛球'],'年龄':18}
>>>b = a.copy()
>>>b
{'地址': '无', '尾号': 1234, '爱好': ['游泳', '乒乓球', '羽毛球'], '年龄': 18}
>>>b['爱好'].remove('游泳')
>>>b
{'地址': '无', '尾号': 1234, '爱好': ['乒乓球', '羽毛球'], '年龄': 18}
>>>a
{'地址': '无', '尾号': 1234, '爱好': ['乒乓球', '羽毛球'], '年龄': 18}
深复制
#深复制
>>>from copy import deepcopy
>>>a = {'地址':'无','尾号':1234,'爱好':['游泳','乒乓球','羽毛球'],'年龄':18}
>>>b = deepcopy(a)
>>>b
{'地址': '无', '尾号': 1234, '爱好': ['游泳', '乒乓球', '羽毛球'], '年龄': 18}
>>>b['爱好'].remove('游泳')
>>>b
{'地址': '无', '尾号': 1234, '爱好': ['乒乓球', '羽毛球'], '年龄': 18}
>>>a
{'地址': '无', '尾号': 1234, '爱好': ['游泳', '乒乓球', '羽毛球'], '年龄': 18}
-?fromkeys
用键来创建字典
参数:列表,值
值默认为None
>>>{}.fromkeys(['day','month','year'])
{'day': None, 'month': None, 'year': None}
>>>{}.fromkeys(['day','month','year'],12)
{'day': 12, 'month': 12, 'year': 12}
>>>dict.fromkeys(['day','month','year'])
{'day': None, 'month': None, 'year': None}
>>>dict.fromkeys(['day','month','year'],12)
{'day': 12, 'month': 12, 'year': 12}
-?get
获取字典中键的值
参数:键,若键不存在时的返回值为None
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.get('day')
30
>>>print(d.get('name'))
None
-?setdefault
获取字典中键的值
若键不存在时 返回指定值
往字典里添加该键-值对
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.setdefault('year')
11
>>>d.setdefault('season','winter')
'winter'
>>>d
{'day': 30, 'month': 12, 'year': 11, 'season': 'winter'}
-?items
返回一个字典视图(所有字典项的列表)
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.items()
dict_items([('day', 30), ('month', 12), ('year', 11)])
-?keys
返回一个包含键的视图
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.keys()
dict_keys(['day', 'month', 'year'])
- values
返回一个包含值的视图
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.values()
dict_values([30, 12, 11])
- pop
获取与指定键关联的值,并将该键-值对从字典中删除
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.pop('month')
12
>>>d
{'day': 30, 'year': 11}
-?popitem
随机地弹出一个字典项
.>>d = {'day': 30, 'month': 12, 'year': 11}
>>>d.popitem()
('year', 11)
>>>d
{'day': 30, 'month': 12}
-?update
使用一个字典来更新另一个字典
>>>d = {'day': 30, 'month': 12, 'year': 11}
>>>x = {'day':20,'season':'summer'}
>>>d.update(x)
>>>d
{'day': 20, 'month': 12, 'year': 11, 'season': 'summer'}
>>>d.update([('day',10),('weather','sunny')])
>>>d
{'day': 10, 'month': 12, 'year': 11, 'season': 'summer', 'weather': 'sunny'}
|