def find_or_none(key, search_maps, _map_index=0):
 try:
  attr = getattr(search_maps[_map_index], key)
  return (attr if (attr is not None) else find_or_none(key, search_maps[1:]))
 except AttributeError:
  return find_or_none(key, search_maps, (_map_index + 1))
 except IndexError:
  return None

def find_or_none ( key , search_maps , _map_index = 0 ) : try : attr = getattr ( search_maps [ _map_index ] , key ) return ( attr if ( attr is not None ) else find_or_none ( key , search_maps [ 1 : ] ) ) except AttributeError : return find_or_none ( key , search_maps , ( _map_index + 1 ) ) except IndexError : return None
return the value of the first key found in the list of search_maps .