常把map称之为映射,就是将一个元素(通常称之为key键)与一个相对应的值(通常称之为value)关联起来
通常用**字典dict**实现了映射这种数据结构
字典也是使用{}来包裹(set也是{}),每个键值对用冒号:分隔,键值对与键值对之间用逗号,分隔,其具体格式如下:
my_dict = {"mike": 99,"tom": 98,"jerry": 100
}字典中的键数据类型必须是不可变的(字符串、数字、元组等), 但是值可以是任意的数据类型。
【注意】:如果直接创建一个{}, 表示这是一个空字典,而并非一个空集合。也使用内置函数 dict()创建字典,如果想要给字典添加键值对,可以直接通过dict[key] = value的形式。
创建空字典
dict1 = {}dict2 = dict()添加键对值
dict1["Mike"] = 99
dict1["Tom"] = 98
dict1["Jerry"] = 97
更新值
dict["Mike"] = 100访问值
print(dict1["Mike"])删除键对值:del(),clear()
del dict1["Mike"]     #删除对应的键对值
dict1.clear()    #清空字典
del dict  #删除字典检查字典中的键是否存在也是使用in来判断, 如果键在字典中返回 true, 否则 返回 false 。
if "mike" in my_dict:print(my_dict["mike"])
else:print("mike doesn't exist in the dictionary")for遍历键值
        字典的遍历需要搭配使用for和dict.items(), 对items()方法返回了字典中的所有键值对的视图对象。这个视图象可以用于迭代字典中的键值对。
for key, value in dict1.items():print(f"Key: {key}, Value: {value}")代码如下
s = int(input())
for _ in range(s):n = int(input())my_dict = dict()for _ in range(n):# key = input()# value = input()# my_dict[key] = valuekey, door = map(int,input().split())      #python支持这样同时赋值my_dict[key] = doordoor = int(input())flag = 0for key, value in my_dict.items():if value == door:print(key)flag = 1breakif flag == 0:print("Can't open the door.")