def init_list_with_values(list_length: int, init_value):
	"""Return a pre-initialized list.

	Returns a list of length list_length with each element equal to
	init_value. init_value must be immutable (e.g. an int is okay; a
	dictionary is not), or the resulting list will be a list of
	references to same object (e.g. retlist[0] and retlist[1] would
	point to the same object and manipulating
	one would change it for the other).

	Args:
		list_length (int):	The number of elements in the resulting
						list.
		init_value:		A immutable value to initialize each list
						element to.

	Returns:
		list:	A list of length list_length with each element
				initialized to init_value

	Examples:
		>>> init_list_with_values(3, 0)
		[0, 0, 0]
		>>> init_list_with_values(5, "Cookies")
		['Cookies', 'Cookies', 'Cookies', 'Cookies', 'Cookies']
		>>> init_list_with_values(2, (1, 2, 3))
		[(1, 2, 3), (1, 2, 3)]
		>>> init_list_with_values(2, {"foo": "bar"})
		[{'foo': 'bar'}, {'foo': 'bar'}]
	"""

	return [init_value] * list_length