我需要在字典中搜索两个元素的值,而不是它们的键。
我有以下代码,但它没有搜索dict的值
for key in val["timeSlot"]:
for value in val[key]:
if test_date in value:
print "found it!"
任何想法?
答案 0 :(得分:2)
字典的一个技巧是,虽然每个键都是唯一的,但值可以重复。这意味着每个值可以对应于多个键。所以......
def get_dict_keys(d, val):
matches = []
for k in d.keys():
if d[k] == val:
matches.append(k)
return matches
如果你喜欢列表推导......
def get_dict_keys(d, val):
return [k for k in d.keys() if d[k] == val]
答案 1 :(得分:0)
def get_key(dictionary,value):
for k in dictionary.keys():
if value in dictionary[k]:
return k
使用d.keys()
- 它返回字典中所有键的list
。在for key in val["timeslot"]
循环 -
get_key(val[key],test_date)