dict1=({"EMP$$1":1,"EMP$$2":2,"EMP$$3":3})
如何检查是否EMP使用python存在于字典
dict1.get("EMP##") ??
这不是完全清楚你想要做什么。
你可以遍历在dict
选择键的按键使用the startswith()
method:
>>> for key in dict1:
... if key.startswith("EMP$$"):
... print "Found",key
...
Found EMP$$1
Found EMP$$2
Found EMP$$3
您可以使用列表解析来获取所有匹配的值:
>>> [value for key,value in dict1.items() if key.startswith("EMP$$")]
[1, 2, 3]
如果你只是想知道,如果一个关键的比赛,你可以使用the any()
function:
>>> any(key.startswith("EMP$$") for key in dict1)
True
这种做法在我看来是违背了字典的意图。
字典是由它曾与他们相关的值散列键。这种结构的好处是,它提供了非常快速的查找(O(1)的数量级上)。通过键搜索,你否定有好处。
我建议你重新组织的字典。
dict1 = {"EMP$$": {"1": 1, "2": 2, "3": 3} }
然后,找到“EMP $$”就是这么简单
if "EMP$$" in dict1:
#etc...
你需要很多更具体和你想要做什么。但是,假设你给字典:
dict1={"EMP$$1":1, "EMP$$2":2, "EMP$$3":3}
如果你想知道,如果一个特定的关键是试图请求它之前还是可以存在:
dict1.has_key('EMP$$1')
True
返回True
作为dict1
有一个关键EMP$$1
。
你也可以忘记检查钥匙和依靠dict1.get()
的默认返回值:
dict1.get('EMP$$5',0)
0
返回0
默认给出dict1
没有一个关键EMP$$5
。
以类似的方式,你也可以使用一个'试/除非/结构捕获并处理未接键:
try:
dict1['EMP$$5']
except KeyError, e:
# Code to deal w key error
print 'Trapped key error in dict1 looking for %s' % e
另外这个问题的答案也大,但我们需要更多的信息更加精确。
有没有办法来匹配字典的键这样的。我建议你重新考虑你的数据结构这个问题。如果这必须是额外快,你可以使用像一个后缀树。
您可以使用检查,如果产品在另一个字符串in
字符串操作。 dict1迭代器返回键列表,让你勾选“EMP $$”对每个dict1.key的。
dict1 = {"EMP$$1": 1, "EMP$$2": 2, "EMP$$3": 3}
print(any("EMP$$" in i for i in dict1))
# True
# testing for item that doesn't exist
print(any("AMP$$" in i for i in dict1))
# False