diff --git a/Ejercicio1.ipynb b/Ejercicio1.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..e2638e894657c1265115dfafa0d2b00f9385626d
--- /dev/null
+++ b/Ejercicio1.ipynb
@@ -0,0 +1,147 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Ejercicio No. 1 - Lista de palabras\n",
+    "\n",
+    "**Enunciado:** Escriba un programa en python que acepte una lista de palabras separadas por guiones, e\n",
+    "imprima de vuelta las mismas palabras, sin repetición y nuevamente separadas por guiones,\n",
+    "después de ordenarlas alfabéticamente.\n",
+    "\n",
+    "**Solución:** Hola, mi nombre es *Sebastian Ordoñez* (ordonezs), para solucionar este ejercicio opté por implementar una única función, `order`, la cual realiza en su totalidad lo requerido. En las líneas de código se encuentra documentación un poco más detallada, así como comentarios de qué hacen las líneas más importantes  "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def order(lista:str)->str:\n",
+    "    \"\"\"\n",
+    "    Esta función recibe una cadena (str) que contiene palabras separadas por guiones y retorna también una cadena\n",
+    "    con las palabras nuevamente separadas por guiones, ordenadas alfabéticamente y sin repetición.\n",
+    "    \n",
+    "    Input\n",
+    "    ------\n",
+    "    lista (str): cadena que contiene las palabras separadas por guiones.\n",
+    "        \n",
+    "    Output\n",
+    "    ------\n",
+    "    final (str): cadena con las palabras separadas por guiones, ordenadas alfabéticamente y sin repetición.\n",
+    "    \"\"\"\n",
+    "    \n",
+    "    lista += \"-\" # A la cadena inicial se le añade un guión al final para evitar problemas con la última palabra.\n",
+    "    words = [] # Lista que contendrá todas las palabras que se encuentran en la cadena inicial () lista\n",
+    "    word = \"\"\n",
+    "    for x in lista:\n",
+    "        if x!=\"-\":\n",
+    "            word += x\n",
+    "        else:\n",
+    "            words.append(word)\n",
+    "            word = \"\"\n",
+    "    words = list(dict.fromkeys(words)) # Jugando con los tipos de objeto se eliminan las palabras repetidas\n",
+    "    words = sorted(words) # Función para ordenar las palabras alfabéticamente\n",
+    "    \n",
+    "    final = \"\" # Cadena final con las palabras en la lista \"words\"\n",
+    "    for y in words:\n",
+    "        if words.index(y)!=len(words)-1:\n",
+    "            final += y+\"-\"\n",
+    "        else:\n",
+    "            final += y\n",
+    "            \n",
+    "    return final"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Ahora que hemos terminado de construir la función `order`, la cual realiza lo requerido por el problema, entonces pasamos a probarla. Para esto, podemos usar el ejemplo sugerido en el enunciado mismo, tal que:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'avión-melodía-naranja-tupla'"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "order(\"naranja-avión-melodía-tupla-avión\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'naranja'"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "order(\"naranja-naranja-naranja\")"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'a-b-c-d-e-f-g-h'"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "order(\"a-b-c-d-f-g-e-h\")"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}