Как подчинить сортировку с буквой Ё и с itemgetter?
Формальный говнокод для решения проблемы буквы Ё (концепт):key = lambda c: ord('Е') + 0.5 if c == 'Ё' else ord(c)
Правильный путь:import locale
from functools import cmp_to_key
from collections import OrderedDict

locale.setlocale(locale.LC_ALL, 'Russian_Russia.1251')

a = [{'src': 'Яблоко', 'dst': 2343}, {'src': 'Ананас', 'dst': 323}, {'src': 'Ёжик', 'dst': 3223}]

# Чтобы не вызывать связку cmp_to_key(locale.strcoll) в sorted() многократно
def keyfunc(item, func=cmp_to_key(locale.strcoll)):
    return func(item[0])

d = OrderedDict(sorted(((e['src'], e['dst']) for e in a), key=keyfunc))
Если всё же требуется именно список словарей:# Чтобы не вызывать связку cmp_to_key(locale.strcoll) в sorted() многократно
def keyfunc(item, func=cmp_to_key(locale.strcoll)):
    return func(item['src'])

sorted(a, key=keyfunc)
Но самое адекватное решение будет таким (для работы: pip install sortedcontainers):from sortedcontainers import SortedDict
d = SortedDict(cmp_to_key(locale.strcoll), {e['src']:e['dst'] for e in a})
Примечания:
1. Если можете использовать последнюю версию Python, то начиная с версии 3.6 порядок элементов в словаре не меняется, то есть его можно создать сразу сортированным и работать без опасений.
2. Модуль sortedcontainers по быстродействию и удобству оставляет позади все существующие альтернативные библиотеки, включая стандартную collections. Очень рекомендую.
Попробуйте просто по индексу в общем алфавитном списке:>>> words = [{'src': 'Ананас', 'dst': 323}, {'src': 'Ёжик', 'dst': 3223}, {'src': 'Яблоко', 'dst': 2343}, {'src': 'Hi', 'dst': 78768}]
>>> eng_rus_upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'

>>> res = sorted(words, key=lambda x: eng_rus_upper.index(x['src'][0]))
>>> res
[{'src': 'Hi', 'dst': 78768}, {'src': 'Ананас', 'dst': 323}, {'src': 'Ёжик', 'dst': 3223}, {'src': 'Яблоко', 'dst': 2343}]
>>>