如何检查Python中是否存在我想要的键

0 投票
2 回答
1614 浏览
提问于 2025-04-16 14:59

我有一个对象的元组,看起来像这样:

('MATE555', ([('Wdfd',7), ('dfs', 2), ('Tdfs77', 2), ('Fsf1', 1), ('s01', 1), ('Bdf1', 1), ('fs01', 1)],))

我想创建一个函数,检查名字这个键是否存在。如果存在,就返回元组的第二部分;如果不存在,就返回'没有这个键'。
举个例子

调用 get_list('MATE555') 会返回 [('Wdfd',7), ('dfs', 2), ('Tdfs77', 2), ('Fsf1', 1), ('s01', 1), ('Bdf1', 1), ('fs01', 1)]
而 调用 get_list("HIW6') 会返回 '没有这个键'

2 个回答

2

你为什么要用元组对象来表示“键 -> 值”的数据模型呢?Python有一个叫做“字典”的哈希表类,应该用它来代替元组,因为字典比元组更灵活:

从列表创建字典:

your_dict = dict([(key1, value1), (key2, value2), (key3, value3), ...])

所以在你的情况下:

your_dict = dict([your_tuple])

在字典中查找键:

if your_key in your_dict:
    print your_dict[your_key]
else:
    print "Key not present."

添加新的“键 -> 值”对:

your_dict[new_key] = new_value_object

从字典中删除“键 -> 值”对:

del your_dict[key]

等等……更多内容可以在这里找到:http://docs.python.org/library/stdtypes.html#mapping-types-dict

1
if your_list[0] == 'MATE555':
   print your_list[1]
else:
   print 'no key'

请先阅读一下Python教程……这其实是Python的基础知识……

撰写回答