1.创建字典:字典由键值对组成,每个键值对就是字典的一个元素,键值对之间用分号(:)隔开,元素之间用逗号(,)隔开。字典中的键必须是唯一 且不可变得(不可以是列表或者字典)。字典中的元素是无序的。
dic = {'name': 'Gumby', 'age': '18'}
2.字典的基本操作
1)使用len(dict)函数返回字典中包含的键值对的个数
1 >>> dic = {'name': 'Gumby', 'age': '18'} 2 >>> len(dic) 3 2
2)dict[key],key的值为字典中的键的名称,返回该键所对应的值
1 >>> dic = {'name': 'Gumby', 'age': '18'} 2 >>> dic['name'] 3 'Gumby' 4 >>> dic = {'name': 'Gumby', 'age': '18'} 5 >>> dic['phone'] = '123456' 6 >>> dic 7 {'name': 'Gumby', 'age': '18', 'phone': '123456'}
3)dict[key] = value, 我们可以使用‘=’来给字典键为key的项关联新的值。当键不在字典中的时候,字典将添加这一键值对到字典中。
1 >>> dic = {'name': 'Gumby', 'age': '18'} 2 >>> dic['name'] = 'Alex' 3 >>> dic 4 {'name': 'Alex', 'age': '18'}
4)使用del dict[key] 来删除键值对
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> del dic['phone'] 3 >>> dic 4 {'name': 'Gumby', 'age': '18'}
5)成员资格:使用key in dict来检查字典中是都包含键为key的值,存在返回True,反之返回False
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> 'name' in dic 3 True 4 >>> 'add' in dic 5 False
3.字典的方法
1.clear(self)
clear方法将删除字典中所有的项,原字典变为空字典
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.clear() 3 >>> dic 4 {}
2.copy(self)
copy方法返回一个新字典,跟原字典相同,只不过这个复制是浅复制
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.copy() 3 {'name': 'Gumby', 'age': '18', 'phone': '123456'}
3.fromkeys(*args, **kwargs)
fromkeys方法创建一个新的字典,其中包含指定的键,对应的每个值都是一样的
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dict.fromkeys(dic) 3 {'name': None, 'age': None, 'phone': None} 4 >>> dict.fromkeys([1, 2, 3]) 5 {1: None, 2: None, 3: None} 6 #传入第二个参数为‘python’,字典的每个键对应的值都为'python' 7 >>> dict.fromkeys([1, 2, 3], 'python') 8 {1: 'python', 2: 'python', 3: 'python'}
4.get(self, k, d=None)
get方法与上述的dict[keys]的效果类似,不同的是当k在字典中找不到的时候不会报错,会返回None或我们指定的值
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.get('name') 3 'Gumby' 4 >>> dic.get('school') 5 >>> dic.get('school','nothing') 6 'nothing'
5.items(self)
items方法返回一个包含字典中所有键值对的可迭代对象,每个键值对用元组返回
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.items() 3 dict_items([('name', 'Gumby'), ('age', '18'), ('phone', '123456')]) 4 >>> list(dic.items()) 5 [('name', 'Gumby'), ('age', '18'), ('phone', '123456')]
6.keys(self)
keys方法返回字典中所有键组成的可迭代对象
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.keys() 3 dict_keys(['name', 'age', 'phone']) 4 >>> list(dic.keys()) 5 ['name', 'age', 'phone']
7.pop(self, k, d=None) 与 popitem(self)
pop方法返回指定key所对应的值,并且从字典中删除该键值对;popitem方法类似于列表中的pop方法,只是列表中的pop方法是删除最后一个元素,而popitem方法是随机删除字典中的一个键值对,并返回
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.pop('name') 3 'Gumby' 4 >>> dic 5 {'age': '18', 'phone': '123456'} 6 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 7 >>> dic.popitem() 8 ('phone', '123456') 9 >>> dic 10 {'name': 'Gumby', 'age': '18'}
8.setdefault(self, k, d=None)
setdefault方法类似于get方法,可以获取指定键所对应的值,与get方法不同的是,若key不在字典中,setdefault方法将在字典中插入指定的键值对。
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.setdefault('name') 3 'Gumby' 4 #‘school’不在该字典中,setdefault在字典中插入该键且值为None 5 >>> dic.setdefault('school') 6 >>> dic 7 {'name': 'Gumby', 'age': '18', 'phone': '123456', 'school': None}
9.update(self, E=None, **F)
updat方法使用一个字典中的键值对来更新另一个字典,如果包含相同的项就替换该项的值,若不存在,就添加到字典中。
1 >>> dic = {'name': 'Gumby', 'age': '18'} 2 >>> d = {'name': 'Alex', 'phone': '123456'} 3 >>> dic.update(d) 4 >>> dic 5 {'name': 'Alex', 'age': '18', 'phone': '123456'}
10.values(self)
values方法返回一个有字典中的值组成的可迭代对象
1 >>> dic = {'name': 'Gumby', 'age': '18', 'phone': '123456'} 2 >>> dic.values() 3 dict_values(['Gumby', '18', '123456']) 4 >>> list(dic.values()) 5 ['Gumby', '18', '123456']