dict-字典
Python内置了字典:
dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
字典的每个键值 对用冒号 {} 中
1.格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字,元组等
一个简单的字典实例:
2.查询字典
dict_a={"a":1,2:"b",(1,2):3}
1.如果用字典里没有的键访问数据,会输出错误如下:
2.要避免key不存在的错误,有两种办法,
1.是通过in判断key是否存在:
dict_a={"a":1,2:"b",(1,2):3}
if "a" in dict_a:
print("如果存在,则打印出a[‘a‘]:",dict_a["a"])
else:
print(None)
2.是通过dict提供的get()方法,如果key不存在,返回None
1。如果存在则返回key对应的vaule
2。如果不存在则返回None
3。如果不存在也可以返回一个自定义值
3.修改字典
dict_a={"a":1,2:"b",(1,2):3}
如果修改字典时,key重复了,则会记录最后一次key的vaule
dict_a={"a":1,2:"b",(1,2):3}
4.删除字典元素
1. 能删单一的元素也能清空字典,清空只需一项操作。
dict_a={"a":1,2:"b",(1,2):3}
2. 显示删除一个字典用del命令,如下实例:
3.dict.popitem()
5.添加元素
dict_a={"a":1,2:"b",(1,2):3}
1.直接赋值
2.使用 :dict_fromkeys(seq)
如果只有key,则vaule默认是None
如果写了vaule,则结果是key:vaule
3.使用 :dict.setdefault(key)
跟 dict.get() 类似,只不过get()当key不存在时,不会追加
如果 key 在 字典中,返回对应的值。
如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
4.更新字典 :dict.update(dict1)
6.dict.key():获取所有的键
7.dict.vaules() :获取所有的值
8.len(dict):查看字典中key的长度,即有几个key
9.dict.items(): 生成迭代对象
10.type(dict): 打印类型
实战下:#统计一下每个字母出现的次数,用字典存储
方法1:
a = "I am a good boy"
b = {}
for i in a:
if i == " ":
continue
b[i]=a.count(i)
print(b)
#结果:{‘I‘: 1, ‘a‘: 2, ‘m‘: 1, ‘g‘: 1, ‘o‘: 3, ‘d‘: 1, ‘b‘: 1, ‘y‘: 1}
方法2:
a = "I am a good boy"
b = {}
for i in range(len(a)):
if a[i] != " ":
b[a[i]]=a.count(a[i])
print(b)
#结果:{‘I‘: 1, ‘a‘: 2, ‘m‘: 1, ‘g‘: 1, ‘o‘: 3, ‘d‘: 1, ‘b‘: 1, ‘y‘: 1}
方法3:
a = "I am a good boy"
b = {}
for i in range(len(a)):
if a[i] != " ":
if a[i] not in b:
b.setdefault(a[i],1)
else:
b[a[i]] += 1
print(b)
#结果:{‘I‘: 1, ‘a‘: 2, ‘m‘: 1, ‘g‘: 1, ‘o‘: 3, ‘d‘: 1, ‘b‘: 1, ‘y‘: 1}