def append_column(instance, new_column_values, new_column_name):
    '\n\n        :param new_column_values:\n        :param new_column_name:\n        :param dataset:\n        :return: Changes the inputted dataset when ran (no need for assigning the output to a variable).\n        :usage: append_column(NEW_COLUMN_VARIABLES_LIST, NEW_COLUMN_NAME_STRING, DATASET)\n\n        :example:\n            >>> my_list_data = ListData()\n            >>> my_list_data.dataset = [[\'day\', \'month\'], [1, \'June\'], [3, \'May\'], [4, \'Jun\']]\n            >>> years_column = [2149, 2150, 2151]\n            >>> my_list_data.append_column(years_column, "year")\n            >>> print(my_list_data.dataset) # changes the original data set without a need to assign the output to a new variable, etc.\n            [[\'day\', \'month\', \'year\'], [1, \'June\', 2149], [3, \'May\', 2150], [4, \'Jun\', 2151]]\n        '
    if (new_column_name in instance.headers()):
        print(('ERROR: Header name already in dataset. Re-run all code up to this point or change header name.\nError occured while processing new_column_name: ' + str(new_column_name)))
        raise ValueError('Header name already in dataset. Please choose a different name. If name is correct, try re-running all code up to this point. (See console output for last header name processed.)')
    if (len(new_column_values) != len(instance.data_rows())):
        raise Exception(((((('Inputted column length must be equal to instance.dataset column length.\n' + 'new_column_values length: ') + str(len(new_column_values))) + '\n') + 'instance.data_rows() length: ') + str(len(instance.data_rows()))))
    new_column = new_column_values
    new_column.insert(0, new_column_name)
    for (i, row) in enumerate(instance.dataset):
        instance.dataset[i].append(new_column[i])
:param new_column_values:
:param new_column_name:
:param dataset:
:return: Changes the inputted dataset when ran (no need for assigning the output to a variable).
:usage: append_column(NEW_COLUMN_VARIABLES_LIST, NEW_COLUMN_NAME_STRING, DATASET)

:example:
    >>> my_list_data = ListData()
    >>> my_list_data.dataset = [['day', 'month'], [1, 'June'], [3, 'May'], [4, 'Jun']]
    >>> years_column = [2149, 2150, 2151]
    >>> my_list_data.append_column(years_column, "year")
    >>> print(my_list_data.dataset) # changes the original data set without a need to assign the output to a new variable, etc.
    [['day', 'month', 'year'], [1, 'June', 2149], [3, 'May', 2150], [4, 'Jun', 2151]]
def append_column(instance, new_column_values, new_column_name):
    '\n\n        :param new_column_values:\n        :param new_column_name:\n        :param dataset:\n        :return: Changes the inputted dataset when ran (no need for assigning the output to a variable).\n        :usage: append_column(NEW_COLUMN_VARIABLES_LIST, NEW_COLUMN_NAME_STRING, DATASET)\n\n        :example:\n            >>> my_list_data = ListData()\n            >>> my_list_data.dataset = [[\'day\', \'month\'], [1, \'June\'], [3, \'May\'], [4, \'Jun\']]\n            >>> years_column = [2149, 2150, 2151]\n            >>> my_list_data.append_column(years_column, "year")\n            >>> print(my_list_data.dataset) # changes the original data set without a need to assign the output to a new variable, etc.\n            [[\'day\', \'month\', \'year\'], [1, \'June\', 2149], [3, \'May\', 2150], [4, \'Jun\', 2151]]\n        '
    if (new_column_name in instance.headers()):
        print(('ERROR: Header name already in dataset. Re-run all code up to this point or change header name.\nError occured while processing new_column_name: ' + str(new_column_name)))
        raise ValueError('Header name already in dataset. Please choose a different name. If name is correct, try re-running all code up to this point. (See console output for last header name processed.)')
    if (len(new_column_values) != len(instance.data_rows())):
        raise Exception(((((('Inputted column length must be equal to instance.dataset column length.\n' + 'new_column_values length: ') + str(len(new_column_values))) + '\n') + 'instance.data_rows() length: ') + str(len(instance.data_rows()))))
    new_column = new_column_values
    new_column.insert(0, new_column_name)
    for (i, row) in enumerate(instance.dataset):
        instance.dataset[i].append(new_column[i])