一、字典介绍
字典和列表一样,也是存储多个数据的容器,只不过存储和读取的方式不同
字典的语法格式: 字典名 = {key1 : value1,key2:value2,key3:value3,……}
说明:
- 列表中找某个元素时,是根据下标进行的
- 字典中找某个元素时,是根据’key’
- 列表使用[]表示,字典使用{},表示
- key和value之间使用冒号而不是等号
- 多个键值对之间使用逗号隔开
- 字典中key要唯一,不能重复
二、字典的基本操作
1、根据key读取value的值
nameDic = {"a":"张三","b":"李四","c":"王五"} name1 = nameDic["a"] name2 = nameDic["b"] print(name1) print(name2)
运行结果为:张三、李四
2、修改元素的值
nameDic = {"a":"张三","b":"李四","c":"王五"} nameDic["a"] = "侯七" print(nameDic)
运行结果为:{'a': '侯七', 'b': '李四', 'c': '王五'}
3、增加元素
nameDic = {"a":"张三","b":"李四","c":"王五"} nameDic["e"] = "侯七" print(nameDic)
运行结果为:{'a': '张三', 'b': '李四', 'c': '王五', 'e': '侯七'}
说明:
- 如果使用 变量名[‘键’] = 数据 时,这个“键”不存在,就会新增这个元素
- 如果使用 变量名['键'] = 数据 时,这个“键”存在,就是修改元素的值
4、del 删除元素
nameDic = {"a":"张三","b":"李四","c":"王五"} del nameDic["c"] print(nameDic)
运行结果为:{'a': '张三', 'b': '李四'}
del 如果跟上具体的key的名字,就是删除这一对键值对,如果没有根据的key,而是只是跟字典名,意味着全部删除,删除之后就不可以在使用
5、clear( )
nameDic = {"a":"张三","b":"李四","c":"王五"} print("清空前,%s"%nameDic) nameDic.clear() print("清空后,%s"%nameDic)
运行结果为:
清空前,{'a': '张三', 'b': '李四', 'c': '王五'} 清空后,{}
6、len() :测量字典中,键值对的个数
nameDic = {"a":"张三","b":"李四","c":"王五"} num = len(nameDic) print(num)
运行结果为:3
7、keys: 返回一个包含字典所有KEY的列表
nameDic = {"a":"张三","b":"李四","c":"王五"} keysList = nameDic.keys() print(keysList)
运行结果为:dict_keys(['a', 'b', 'c'])
8、values 返回一个包含字典所有value的列表
nameDic = {"a":"张三","b":"李四","c":"王五"} valuesList = nameDic.values() print(valuesList)
运行结果为:dict_values(['张三', '李四', '王五'])
9、items 返回一个包含所有(键,值)元组的列表
nameDic = {"a":"张三","b":"李四","c":"王五"} nameItems = nameDic.items() print(nameItems)
运行结果为:dict_items([('a', '张三'), ('b', '李四'), ('c', '王五')])
三、字典的遍历
1、遍历字典的key(键)
nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"} for key in nameDic.keys(): print(key)
运行结果为:a,b,c,d
2、遍历字典的value(值)
nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"} for value in nameDic.values(): print(value)
运行结果为:张三、李四、王五、赵六
3、遍历字典的项(元素)
nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"} for item in nameDic.items(): print(item)
运行结果为:('a', '张三')、('b', '李四')、('c', '王五')、('d', '赵六')
4、遍历字典的key-value(键值对)
nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"} for key,value in nameDic.items(): print("key=%s,value=%s"%(key,value))
运行结果为:
key=a,value=张三 key=b,value=李四 key=c,value=王五 key=d,value=赵六