字典
字典是包含若干“键:值”元素的无序可变序列,也称关联数组。
键和值之前用 : 隔开,不同元素间用 , 隔开。
字典元素用{}包含。
字典中的“键”是python中任意不可变数据,如:整数,实数,复数,字符串,元组等。
字典中的“键”不允许重复,而“值是可以重复的”。
字典的创建与删除
>>> aDict = {'a':1,'b':2,'c':3,'d':4} #使用赋值运算符‘#’创建字典变量
>>> aDict
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> x = dict() #空字典
>>> x
{}
>>> x = {} #空字典
>>> x
{}
>>> values = [1,2,3,4]
>>> keys = ['a','b','c','d']
>>> d = dict(zip(keys,values)) #根据已有数据创建字典
>>> d
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> d = dict(name = 'Dong',age = 39) #以关键参数创建字典
>>> d
{'name': 'Dong', 'age': 39}
>>> aDict = dict.fromkeys(['name','age','sex']) #以给定内容为“键”
>>> aDict #创建值为空的字典
{'name': None, 'age': None, 'sex': None}
>>> del aDict #删除字典
字典元素的访问
>>> aDict = {'age':39,'score':[98,97],'name':'Dong','sex':'male'} #创建字典
>>> aDict['age'] #用键访问值
39 #指定的“键 ”存在,返回对应的值
>>> aDict['address'] #不存在,,则抛出异常
KeyError: 'address'
>>> aDict.get('age') #如果字典中存在该“键”,返回对应的值
39
>>> aDict.get('address','Not Exists.') #指定的“键”不在返回默认值
'Not Exists.'
>>>
对字典对象进行迭代或者遍历,默认是遍历字典的“键”。如果有需要,则需要用字典对象的item()方法明确说明
>>> aDict = {'a':1,'b':2,'c':3,'d':4}
>>> for item in aDict: #默认遍历字典的“键”
print(item)
a
b
c
d
>>> for item in aDict.items(): #明确指定遍历字典的元素
print(item)
('a', 1)
('b', 2)
('c', 3)
('d', 4)
>>> for value in aDict.values(): #明确指定遍历字典的值
print(value)
1
2
3
4
>>> aDict.items() #查看字典中的所有元素
dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
>>> aDict.keys() #查看字典中的所有键
dict_keys(['a', 'b', 'c', 'd'])
>>> aDict.values() #查看字典中的所有值
dict_values([1, 2, 3, 4])
字典元素的添加、修改和删除
>>> aDict = {'a':1,'b':2,'c':3,'d':4}
>>> aDict['a'] = 5 #"键"存在,修改该“键”对应的值
>>> aDict
{'a': 5, 'b': 2, 'c': 3, 'd': 4}
>>> aDict['e'] = 5 #“键”不存在,添加一个新的元素
>>> aDict
{'a': 5, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
>>> aDict.update({'a':50,'f':6}) #update可以同时修改和添加元素
>>> aDict
{'a': 50, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
>>> aDict.popitem() #弹出一个元素,对空字典会抛出异常
('f', 6)
>>> aDict.pop('a') #弹出指定键对应的元素
50
>>> aDict
{'b': 2, 'c': 3, 'd': 4, 'e': 5}