前言
接下来的两篇是讲可变数据类型,最后讲dict,从作者使用经验来看,常用的数据类型顺序应该是dict、list、str、tuple、bool(常用作判断条件)、int。<当然还有其他人有不同的看法>
字典
关键字:dict,符号{},它是可变容器模型且可存任意类型对象;以key:value的形式保存数据,key:唯一,不可迭代的数据类型:int float 布尔值 元组 &value:可以包含任意数据类型:int float str list tuple dict 布尔值
创建字典
- 代码举例,不同不可变的数据类型为key的情形
dict_1 = {
} # 表示空字典
dict_2 = {
"a":"b"}
dict_3 = {
(1,):2,1.1:2,True:False}
取值方式
dict_1 = {
"k1":"v1"}
dict_1[key] # 即获取指定key的值
dict_1.get(key) #获取key的值,不存在返回none,较上一个字典取值方法灵活
增删改
- 增改:赋值运算,如果key不存在,就是新增,反之就是修改
dict_1 = {
}
dict_1["key"] = "value"
print(dict_1) # 输出:{"key":"value"}
- dict删除除了del其他都是通过函数实现
dict_1 = {
"k1":"v1","ke":"ve"}
v = dict_1.pop("k1") # 删除函数,并返回删除key的value
print(v) # 输出:v1
dict_2 = dict_1.popitem() # 随机删除一组key:value并返回tuple
print(dict_2) # 输出:("ke","ve")
clear() # 清空字典 没有返回值,原dict_1会变成{}
del dict_1[key] 删除指定key
- update更新函数只能是dict类型
dict1 = {
"k1":"v1"}
dict1.update({
1:2})
print(dict1) # 输出:{'k1': 'v1', 1: 2}
内置的函数
- items(),其中dict的键值对成为一个元组的元素,返回list形式,但不是list数据类型,而是dict_items
dict1 = {
"ke":"ve","k1":"v1"}
li = dict1.items()
print(li) # 输出:dict_items([{"ke":"ve"},{"k1":"v1"}])
- values(),获取dict对象的所有value,以list形式,但不是任何类型,而是dict_values
dict1 = {
"ke":"ve","k1":"v1"}
li = dict1.values()
print(li) # dict_values(['ve', 'v1'])
- keys(),获取dict对象的所有key,以list形式,但不是任何类型,而是dict_keys
dict_1 = {
"ke":"ve","k1":"v1"}
li = dict_1.keys()
print(li) # 输出:dict_keys(['ke', 'k1'])
- len() 计算变量的长度,在dict中是统计key的总数
- has_key(key) 用来判断key是否存在dict对象中,否则返回False
dict1 = {
"k1":"1","a":"b","k1":"2"}
b = dict1.has_key("kk")
# Python 3.X 不支持该方法。
print b # 输出:False
扩展特性
咱们知道dict类型的key是必须唯一,不可变数据类型,如果key出现重复,它只会记住最后一个值
dict1 = {
"k1":"1","a":"b","k1":"2"}
print(dict1) # 输出:{"k1":"2","a":"b"}
总结
在介绍完python常用数据类型之后,各位同学应该总结一下