Si explicaras el código otros podriamos aprender algo más de Pandas. Un trozo de código sin explicación no enseña ni educa. — Candid Moe4 mins ago
@CandidMoe No sé si se lo dijiste sólo como crítica o si es que tienes interés real en saber de ese tema (aunque me temo que ya lo sabrás de sobra). Por si acaso te interesa, que sepas que he escrito una respuesta con bastante detalle escabroso
@abulafia Es un comentario estándar para ese tipo de repuestas. Yo reviso porque siempre se aprende algo ahí; entonces, cuando alguien pone código sin más, no aprendo nada.
@abulafia Ufff, entonces si que estoy jodido, la artrosis es malísima para levantarse D:
Hablando de levantarse, me voy a dormir que mañana a las 6 y pico el chucho me despierta para salir a pasear ... A quién se le ocurre enseñar a su perro a pasear a las 7???! No sé en qué estaba pensando
@gbianchi Fue la unica forma que encontre para anidar oraciones en un orden coherente, me hubiera gustado que sea texto directamente pero no vi mas opcion.
@gbianchi A mi tampoco me parece la estructura más adecuada, casi parece un hack, pero es eficiente para lo que pretende, pues lo usa para codificar una especie de árbol y en cada nivel del mismo quiere buscar rápidamente uno de sus "hijos". El diccionario hace ese tipo de búsquedas en O(1)
pero para buscar si una palabra está entre los "hijos" de uno de los niveles tendrás que iterar entre esos hijos. Sintácticamente no es muy complejo, pues puedes poner igualmente if palabra in lista, pero internamente Python tendrá que recorrer todos los elementos de la lista para poder decirte False o True, cosa que no necesita hacer en un diccionario
@gbianchi El problema aquí no es la lista, sino lo que quiere meter en ella. Sería una estructura de datos algo más compleja, pues cada "nodo" del árbol tendría un campo "texto" y luego otro campo "hijos" que sería la lista de los nodos
usando el diccionario el campo "texto" es en realidad la clave
(lo de del d["foo"] elimina la clave "foo" del diccionario, pero no destruye el valor que hubiera asociado, es decir, no hace un free() para entendernos. El antiguo valor está ahora en d["bar"])
a lo mejor en algún momento podrías contar el objetivo final, para saber si el árbol u otra estructura tiene más sentido
@gbianchi Lo recorre como un árbol, en profundidad
porque tiene diccionarios anidados una y otra vez
asi que parte de la "raiz" y desciende por una clave, donde encuentra otro diccionario, del que elige otra clave, y eso le lleva a otro diccionario, etc.
si le dices "Hola que tal" crea un diccionario con la clave "Hola", que tiene dentro otro con una sola clave "que" y cuyo valor es otro diccionario con una sola clave "tal", que tiene como valor un diccionario vacío que marca el final
en ese momento es una especie de lista enlazada
{"Hola": {"que": {"tal": {}}}}}
pero si luego le metes "Hola que haces", entonces va descendiendo por los diccionarios elegidos por cada palabra "Hola", "que", hasta llegar a uno que no estaba previamente, y lo inserta
Leer eso podría resultar estresante, pero ahí esta la respuesta a tu pregunta, respuesta que es muy complicada y que leyendo el conceptual 1.2 entenderás mejor.
claro pero lo que leo (y es una critica conceptual y poco leida eh.. no lo tomes como palabra santa).. es que solo aprende lo que le enseñan... nada mas... y la sustitucion no es por aprendizaje... es porque le dijeron que sustituir...
la idea final es que pueda elaborar construcciones gramaticales por si mismo no?
Si, pero para que aprenda hay que enseñarle, pero solo es al principio pues como dices construira oraciones por si sola, pero como sabes, esa informacion no esta en el pdf.
Yo sinceramente no veo mucha diferencia entre lista y diccionario, creo que el diccionario es mas podereso, pero realmente, me hubiera gustado almacenar texto y en forma de arbol y reemplazar las palabras de forma sencilla.
@Lolita tecnicamente e internamente son cosas muy distintas... aunque te pueda parecer igual por arriba, todo lo que se llama el overhead es muy distinto.. sin embargo, en python, no puede especificarte diferencias porque no las se...
calcula que una lista tiene por cada miembro un nodo.. un puntero al nodo siguiente, y un dato del tipo que sea...
un diccionario, tiene una clave, un dato, y una estructura de control sobre el para ordenarlo...
Bueno, que cambie el metodo de los diccionarios me complicaria las cosas, ahora mi objetivo es imprimir ramas especificas del diccionario y si pienso en algo mas mi cabeza va explotar jajja.
@NaCl tengo por ahi un par de ideas para juegos, pasa que aun no toco C#, ando en web espero que para el que viene lo toco, y en el tema del 3D, ideas tengo, solo espero que me la entreguen actualizada