字典类型
字典类型(dict)属于键值类型,也是Python中最常用的键值类型(key-value)。其中键(key)必须是唯一的,key必须是不可变类型(后面篇章会讲解),value可以是任意类型。字典外面用大括号{}进行界定,内部元素是key:value组合形式,元素之间用逗号分隔,字典的元素没有索引,字典的元素也是无序的。
d = {"name": "Jim", "age": 18, "gender": "male"}
字典d存储了Jim的个人信息,有名字、年龄、性别三项。其中"name"、“age”、"gender"为key,“Jim”、18、"male"分别为对应的value。
字典查询
如果要查询某一项的值,需要用dict_name[key]的形式。
d = {"name": "Jim", "age": 18, "gender": "male"}
print(d["age"])
运行结果为:18
字典值修改
如果要把一个key对应的value修改,可以直接通过key进行操作。
d = {"name": "Jim", "age": 18, "gender": "male"}
d["name"] = "Tom"
d["age"] = 19
print(d)
运行结果为:
{'name': 'Tom', 'age': 19, 'gender': 'male'}
如果字典中元素的key值有重复,重复出现的元素(键值对)会被自动屏蔽,仅保留一个。
d = {"name": "Jim", "age": 18, "gender": "male", "age": 19, "age": 20}
print(d)
运行结果为:
{'name': 'Jim', 'age': 20, 'gender': 'male'}
增加字典的键值对
如果要向字典中添加新的key:value对,只需通过dict_name[key] = value的形式即可,只要新的key值不与之前的key值重复。
d = {"name": "Jim", "age": 18, "gender": "male"}
d["nationality"] = "American"
print(d)
运行结果为:
{'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'American'}
遍历字典的键
d = {'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'American'}
for k in d.keys():
print(k)
运行结果为:
name
age
gender
Nationality
其实,即便不用keys(),也会得到key值。
d = {'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'American'}
for k in d:
print(k)
运行结果为:
name
age
gender
Nationality
遍历字典的值
d = {'name': 'Jim', 'age': 18, 'gender': 'male', 'Nationality': 'American'}
for v in d.values():
print(v)
运行结果为:
Jim
18
male
American
dict函数
字典类型也有对应的类型转换函数dict。
l = [["name", "Jim"], ["age", 18], ["gender", "male"]]
d = dict(l)
print(d)
运行结果为:
{'name': 'Jim', 'age': 18, 'gender': 'male'}