概念:
字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取,这个键可以是数字、字符串甚至元组。映射可以使用任何不可变对象标识元素,最常用的类型是字符串和元组,python唯一内建的映射类型是字典。
字典是以key-value的形式存储的,key必须是字符串类型,value可以是int, str等类型。
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 print(test)
1,取值
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 print(test["age"]) # test["key"] 字典中取值只会匹配key,根据key找到value.字典中key是唯一的
2,增加/修改
增加和删除的格式是一致的,如果有对应的key,就修改对应的值,如果没有对应的key,就新增一个键值对。
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 test["age"] = 19 # 修改age的值 test["email"] = "123@qq.com" # 新增一个键值对到字典中 print(test)
3,删除
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 test.pop("name") # 删除key为name的映射 print(test)
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 test.clear() # 清空字典内容 print(test)
4,统计
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 print(len(test)) # len方法可以统计字典中的数量
5,合并字典
test = {"name": "xiaoming", "age": 18} # 小明为字符串类型,18为int类型 temp = {"email": "123@qq.com"} test.update(temp) # 将temp字典中合并到test字典中,如果有相同key,会更新对应的值。 print(test)
6,循环遍历
test = {"name": "xiaoming", "age": "18"} # i 表示循环遍历的key for i in test: print(i) # 打印key print(test[i]) # 打印value print("%s - %s" % (i, test[i])) # 格式化字符串
字典和列表的联合应用
应用场景:
使用多个键值对,用来描述更复杂的信息; 将多个字典放在一个列表中,进行循环遍历。可以得到每个字典存储的值。对每个字典做相同处理。
1 test = [{"name": "xiaoming", "age": "18"}, {"name": "zhangsan","age": "20"}] 2 for i in test: 3 print(i)