Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Filter a List by Criteria

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Filter a List by Criteria. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Ashby may represent candidate records as dictionaries containing fields such as stage, location, and source. Given a list of candidate records and a criteria dictionary, return only the records whose values match every key-value pair in the criteria.

Formal Specification

Implement filter_candidates(candidates, criteria).

  • candidates is a list of dictionaries mapping strings to comparable values.
  • criteria is a dictionary mapping field names to required values.
  • Return a new list containing candidates that satisfy all criteria.
  • A candidate matches when, for every key in criteria, the candidate contains that key and its value equals the required value.
  • Preserve the original candidate order and do not modify the input list or dictionaries.
  • If criteria is empty, every candidate matches.

Constraints

  • 0 <= len(candidates) <= 10^4
  • 0 <= len(criteria) <= 20
  • Candidate values and criteria values are comparable with ==
  • Candidate dictionaries may omit fields named in criteria

Function Signature

def filter_candidates(candidates, criteria):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output