Eigentlich ist es schneller und einfacher, die zweite Frage zu beantworten (setzen Sie alle passenden Paare in ein neues_Dictionary), dann extrahieren Sie einfach die Liste der Schlüssel, um die erste Frage zu beantworten.
old_dict = {'key1': ['v1','v2','v3','v56','v99'],
'key2': ['v2','v4','v42','v17'],
'key3': ['v0','v3','v4','v17','v49'],
'key4': ['v23','v14','v42'],
}
v = 'v42'
new_dict = dict(pair for pair in old_dict.iteritems() if v in pair[1])
print 'new_dict:', new_dict
# new_dict: {'key2': ['v2', 'v4', 'v42', 'v17'], 'key4': ['v23', 'v14', 'v42']}
keys_with_value = new_dict.keys()
print 'keys_with_value:', keys_with_value
# keys_with_value: ['key2', 'key4']
Sie meinen, füllen Sie ein neues Wörterbuch mit den neuen Schlüssel-Wert-Paaren? Nicht drucken. – marcog
@Eli finden Sie meine Antwort in einer separaten Kette http://StackOverflow.com/a/13497373/929894 – fewtalks