Python | 开房门(map)

常把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遍历键值

        字典的遍历需要搭配使用fordict.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] = value
        key, door = map(int,input().split())      #python支持这样同时赋值
        my_dict[key] = door
    door = int(input())
    flag = 0
    for key, value in my_dict.items():
        if value == door:
            print(key)
            flag = 1
            break
    if flag == 0:
        print("Can't open the door.")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值