我在dict中有一个更不同类型的键(也不需要键入值)
'PL-1/KK-1/FO-1'
'PL-1/KK-2/GH-3'
'PL-1/KK-2'
'PL-1/KK-1/FO-4'
我需要一个条件
if exist (key.split('/')[2])
do something
return data
else:
do something
return data
期望的输出:
在第一个条件中,所有键都会生成除'PL-1/KK-2'
之外的条目。
python中是否存在类似“存在”的内容?
答案 0 :(得分:3)
不,没有'存在'操作
在你的情况下,你应该只测试斜杠:
if key.count('/') >= 2:
# ...
如果您需要密钥的组件,请存储并测试长度:
components = key.split('/')
if len(components) >= 2:
# ...
答案 1 :(得分:2)
def has_key(i_dict, i_filter):
return any(k for k in i_dict.iterkeys() if i_filter(k))
# be it a dict called my_dict
# you could call it like
has_key(my_dict, lambda x: x.count("/") == 2)
# or
has_key(my_dict, lambda x: len(x.split("/"))==2)
这是一个小测试
>>> my_dict = {"a":1,"c":3}
>>> has_key(my_dict, lambda k:k=="a")
True
>>> has_key(my_dict, lambda k:k=="c")
True
>>> has_key(my_dict, lambda k:k=="x")
False