A function that returns all letters in the Alphabet except the ones in a pre-defined list
I suggest you check PEP0008 https://www.python.org/dev/peps/pep-0008/ the official Python style guide and Flake8 http://flake8.pycqa.org/en/latest/ as a tool for style enforcement.


Docstrings: Python documentation strings or docstrings are a way of documenting your classes/function/modules and are usually accessed through help(). You should include docstrings to your functions indicating what they do and what they return.
Type hints: Type Annotations are a new feature added in PEP 484 that allow for adding type hints to variables. They are used to inform someone reading the code what the type of a variable should be. As you're taking a list as input and will return a string, you should have some documentation indicating that. Use type hints.

function should look like:

def get_remaining_letters(letters: list) -&gt; str:
    """Return lowercase alphabetic letters that are not present in letters."""

Blank lines: instead of this # ----------------------------------------------------------- # an empty line is sufficient and note that according to PEP0008 empty lines as well as comments should be used sparingly (when necessary) to separate logical sections as well as explain the not-so-obvious parts of the code.
main guard: use if __name__ == '__main__': guard at the end of the script to allow outside modules to import this module without running it as a whole. You will be calling your functions from there.

if __name__ == '__main__':
    pre_defined_list = ['a', 'b', 'b']
    test = get_remaining_letters(pre_defined_list)
    print(test)

Evaluation to empty list: In Python empty sequences evaluate to False.
instead of if list_of_characters == []: it is written: if not list_of_characters:
Adding to strings: Python strings are immutable which means that each time you're adding to a string like in remaining_letters += char a new string is created and assigned the new value which is inefficient and should be replaced with list comprehension syntax which is shorter and more efficient or Pythonic as you call it.

An improved version of the code:

import string


def get_remaining_letters(letters: list) -&gt; str:
    """Return lowercase alphabetic letters not present in letters."""
    return ''.join(letter for letter in string.ascii_lowercase if letter not in letters)


if __name__ == '__main__':
    chosen = [letter for letter in 'sdfmmmsvvd']
    print(get_remaining_letters(chosen))