def countCharactersInFile( filename ):
    """
    Spočítá počet výskytů znaků anglické abecedy a čísel. Rozlišuje mezi 
    velkými a malými písmeny.

    Parametry:
    ----------
        filename: string
            Jméno souboru, ve kterém má znaky spočítat.

    Vrací:
    ------
        list
            Pole složené z dictionary:
            { 
                "name": Znak číslice či písmena
                "count": Počet výskytů v souboru
            }
            Jednotlivé slovníky jsou seřazeny vzestupně podle hodnoty count.
    """
    characters = []

    # Otevře soubor ke čtení
    with open( filename ) as file:

        # Projde každou řádku
        for line in file:

            # Projde každý znak v řádku
            for char in line:
                
                # Pokud jde o znak nebo číslo
                if char.isalpha() or char.isdecimal():

                    # Pokusí se znak vyhledat v poli characters. Pokud neexistuje, vrátí
                    # None.
                    char_data = next( (n for n in characters if n["name"] == char), None )
                    
                    # Pokud jde o první výskyt tohoto znaku
                    if char_data == None:
                        # Vytvoří jeho reprezentaci a vloží jí na seznam
                        char_data = {"name": char, "count": 0 }
                        characters.append( char_data )

                    # Zvýší počítadlo o 1
                    char_data["count"] += 1

    # Vrátí pole slovníků seřazené vzestupně podle četnosti výskytu znaků v souboru
    return sorted( characters, key = lambda elem: elem["count"] )