序列之字典

字典是“键值对”的无序可变序列,其每个元素都是“键值对”,包含:“键对象”和“值对象”,通过“键对象”迅速获取,删除,更新相应的“值对象”,“键”是任意的不可变数据,如:整数,浮点数,字符串,元组,但是字典,列表,集合这些可变对象不可作为“键”,且键是不可重复的。

字典的创建
1.通过{},dict()创建

 1 a = {"name":"kang","age":18,"height":180}
 2 b = dict(name="kang",age=18,height=180)
 3 c = dict([("name","kang"),("age",18),("height",180)])
 4 d = {} #空字典
 5 e = dict() #空字典
 6 print("a",a)
 7 print("b",b)
 8 print("c",c)
 9 print("d",d)
10 print("e",e)

运行结果:

a {'name': 'kang', 'age': 18, 'height': 180}
b {'name': 'kang', 'age': 18, 'height': 180}
c {'name': 'kang', 'age': 18, 'height': 180}
d {}
e {}

2.通过zip()创建

1 k = ("name","age","height")
2 v = ("kang",18,180)
3 f = dict(zip(k,v))

运行结果:
f {'name': 'kang', 'age': 18, 'height': 180}

字典的删除


1.del()方法

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
del(a["job"])
print(a)

运行结果:

{'name': 'kang', 'age': 18, 'height': 180}

2.pop()删除指定键值对,并返回对应的“值对象”

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
b = a.pop("age")
print(b)
print(a)

运行结果:
18
{'name': 'kang', 'height': 180, 'job': 'IT'}

3.clear()方法,删除所有的键值对

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
a.clear()
print(a)

运行结果:

{}

字典的修改


1.给存在的键重新赋值

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
a["job"] = "tester"
print(a)

运行结果:
{'name': 'kang', 'age': 18, 'height': 180, 'job': 'tester'}

2.使用 update()将新字典中所有键值对全部添加到旧字典对象上,如果key有重复,则直接覆盖。

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
b = {"age":17,"sex":""}
a.update(b)
print(a)

运行结果:

{'name': 'kang', 'age': 17, 'height': 180, 'job': 'IT', 'sex': '男'}

字典的访问

1.通过[键]访问,如果没有输入的键,则报错

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
b = a["name"]
print("name is:",b)
#c = a["fu"]  #KeyError: 'fu'  字典中没有 fu的key,所以报错
#print(c)  #

运行结果:

name is kang
2.通过get()方法访问,如果没有键,则显示None,获取元素,优先选择该方法

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
b = a.get("name")
print("name is:",b)
c = a.get("fu")
print("fu is:",c)  

运行结果:

name is: kang
fu is: None

3.列出所有的键值对items()

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
print(a.items())

运行结果:

dict_items([('name', 'kang'), ('age', 18), ('height', 180), ('job', 'IT')])

4.keys(),values()获取所有的键和所有的值

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
print(a.keys())
print(a.values())

运行结果:

dict_keys(['name', 'age', 'height', 'job'])

dict_values(['kang', 18, 180, 'IT'])

5.len()键值对的个数

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
print(len(a))

运行结果:

4

6.检测此键是否存在字典中

a = {"name":"kang","age":18,"height":180,'job': 'IT'}
print("sex" in a)
print("name" in a)

运行结果:

False
True

原文地址:https://www.cnblogs.com/elephant-study/p/11760027.html