9.数据类型-字典(dict)

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}
原文地址:https://www.cnblogs.com/leaves-leaves/p/15101635.html