目录
一、字典的特点
1、键值映射的数据结构 key-value
2、无序
3、可变的数据类型
4、字典的key -- 天生去重
5、key 必须是可hash对象 -- 不可变数据类型
6、value可以是任何值
二、字典的定义
1、字典的定义如下所示:
d1 = {"name":"sctl", "age":18}
字典是以键值对的形式存在的,而上图中 "name"与"age"为key,而"sctl"与"18"则是value
三、字典的用法
1、当字典中的key有两个一样的时,则取后面的值,例如
d1 = {"a":1, "b":2, "a":4, "a":3}
d1
{'a': 3, 'b': 2}
2、字典的取值
d1 = {"a":1, "b":2, "a":4}
d1["b"] = 2
(1)中括号中填写key,则可查看字典中的value
(2)当这个key不存在时,就会报错,出现异常
四、字典的get属性
1、get属性获取值, 如果找不到这个key 它不会报错
2、get可设置默认值
d1 = {"a":1, "b":2}
print( dir(d1) )
print( d1.get("a") )
print( d1.get("xx") ) #没有取到xx的值,默认返回None
print( d1.get("xx", 10)) # 没有取到xx的值,默认返回10
print( d1.get("b", 20)) #取到了b的值,就返回b的值2
3、字典中的新增与修改
当key存在就修改,当key不存在就新增
五、经典例题
例题:从键盘输入任意字符串,统计每个字符出现的次数,结果保存在字典里。例如输入aoierfweaaa 则打印出 {"a":4, "o":1}
答案如下:
input_str = input("input:") //进行输入
dic = {} //创建字典
for i in input_str: //遍历输入的字符串
dic[i] = dic.get(i, 0) + 1 //当字符存在就+1,不存在就设置为1
print(dic) //进行输出
六、成员关系判断
字典中的成员关系是使用 in 进行判断,默认情况下是判断key
(1) print("a" in d1) //判断"a"是否为d1字典中的key值
(2) print("a" in d1.values()) //判断"a"是否为d1字典中的value值