def keys_with_value(dictionary, v):
	"""
	Return a list of keys from dictionary with value equal to v.

	>>> fruits = {'apple': 10, 'strawberry': 10, 'banana': 5}
	>>> keys_with_value(fruits, 10)
	['apple', 'strawberry']
	"""

	# Solution 1: List Comprehension


	# Solution 2: Iterative

	return


def flip_sign(dictionary, k):
	"""
	If k is in the dictionary, change the sign of the value associated with k.
	If k is not in the dictionary, add k to the dictionary with value 1.

	>>> fruits = {'apple': 10, 'strawberry': 10, 'banana': 5}
	>>> flip_sign(fruits, 'apple')
	>>> fruits
	{'apple': -10, 'strawberry': 10, 'banana': 5}
	>>> flip_sign(fruits, 'orange')
	>>> fruits
	{'apple': -10, 'strawberry': 10, 'banana': 5, 'orange': 1}
	"""

	return


def conditional_map(lst, func, pred):
	"""
	Return a list of items from lst that satisfy pred, with func applied to each item.

	>>> lst = [1, 2, 3, 4, 5]
	>>> conditional_map(lst, lambda x: x * 2, lambda x: x % 2 == 0)
	[4, 8]
	"""

	# Solution 1: List Comprehension


	# Solution 2: Iterative


	# Solution 3: Recursive

	return
