如何检查Python中是否存在我想要的键
我有一个对象的元组,看起来像这样:
('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的基础知识……