Подсчет букв вхождения Python

Я пытаюсь посчитать буквенные вхождения и распечатать их. Это то, что я имею до сих пор:

def histogram(L):
    d = {}
    for x in L:
      for letter in x:
        if letter in d:
          d[letter] += 1
        else:
          d[letter] = 1
    for i in range(len(d)):
      print('{} | {}'.format(d, d[i])) # GETTING ERRORS ON THIS LINE
    return d
histogram(open('cipher.txt'))

По какой-то причине я получаю ошибки в этой строке. Как бы я распечатать это правильно?

РЕДАКТИРОВАТЬ: решение мой Martijn! Реквизит! но кто-нибудь знает, как отсортировать словарь по алфавиту?

Ответы на вопрос(2)

Ваш ответ на вопрос