Cómo iterar correctamente sobre caracteres Unicode en Python

Me gustaría iterar sobre una cadena y generar todos los emojis.

Estoy tratando de iterar sobre los personajes y compararlos con unlista de emoji.

Sin embargo, Python parece dividir los caracteres Unicode en otros más pequeños, rompiendo mi código. Ejemplo:

>>> list(u'Test \U0001f60d')
[u'T', u'e', u's', u't', u' ', u'\ud83d', u'\ude0d']

¿Alguna idea de por qué u '\ U0001f60d' se divide?

¿O cuál es una mejor manera de extraer todos los emojis? Este fue mi código de extracción original:

def get_emojis(text):
  emojis = []
  for character in text:
    if character in EMOJI_SET:
      emojis.append(character)
  return emojis

Respuestas a la pregunta(3)

Su respuesta a la pregunta