Logo

Programming-Idioms

  • C++
  • Python

Idiom #52 Check if map contains value

Determine whether the map m contains an entry with the value v, for some key.

Is this value contained in this map, for any key?
v in m.values()
def k(x, m):
    for k, v in m.items():
        if v == x: return k
k = k(v, m)
x = False
for y in m.items():
    if y[1] == v:
        x = y[0]
        break
#include <algorithm>
std::find_if(m.begin(), m.end(), [v](const auto& mo) {return mo.second == v; }) != m.end();

c++ 14

A lambda expression is used because built-in functions would search by key, not by value.
(boolean (some #{v} (vals m)))

In Clojure values are truthy/falsy

no need for boolean, however included due to other language examples

New implementation...