Contando las ocurrencias de letras Python

Estoy tratando de contar las ocurrencias de letras e imprimirlas. Esto es lo que tengo hasta ahora:

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'))

Por alguna razón estoy recibiendo errores en esa línea. ¿Cómo lo imprimiría correctamente?

EDITAR: solución mi Martijn! ¡Accesorios! pero ¿alguien sabe cómo ordenar el diccionario por orden alfabético?

Respuestas a la pregunta(2)

Su respuesta a la pregunta