Re: [Python-es] Analizar trafico
2012/4/27 #Mike - : > para armar el grafo puedes utilizar digraph[1] Networkx permite hacer gráficos de las redes. Algunos ejemplos: http://networkx.lanl.gov/examples/drawing/weighted_graph.html http://networkx.lanl.gov/examples/drawing/random_geometric_graph.html Un aviso sobre el tamaño de la red: la clave en estos gráficos está en el cálculo de la modularidad de la red, para colocar los nodos muy interconectados cerca. Networkx tiene integrado el algoritmo espectral de Newman (draw_spectral), que funciona bien en redes no muy grandes. Del artículo de Newman: "For the largest of the networks studied here, [...] which has 27,000 vertices, the algorithm takes 20 min to run on a standard personal computer (circa 2006)." Blondel et al. tienen otro algoritmo más rápido, que en mi máquina (similar), tarda 27 segundos. http://perso.crans.org/aynaud/communities/ David. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
Acabo de encontrar esto, no es python, pero podría ayudar a solucionar el problema, talvez se podría automatizar con las librerias para graphviz en python. El 27 de abril de 2012 14:27, #Mike - escribió: > El día 27 de abril de 2012 15:14, Carlos Herrera Polo > escribió: > > Coincido con Cesar. > > Seria interesante alguna herramiente que pueda tomar las variables que > > mencionas y mostrar el trafico graficamente. > > Mi caso imagino es similar al tuyo Cesar, tengo un firewall Juniper > > que envia por syslog el trafico de red, con un script en python que > > hice convierto esos registros en valores que inserto en una base de > > datos Mysql ya con los resumenes de trafico x usuario, pero eso es > > todo y no ayuda demasiado... > > Si se pudiera utilizar "algo" para volcar esa informacion a graficas > > seria genial > > Bueno, graficar el tráfico ni idea, pero para armar el grafo puedes > utilizar digraph[1]; y puedes localizar a donde pertenecen a través de > un whois o utilizar la información de RIR[2]. > > [1] http://networkx.lanl.gov/reference/classes.digraph.html > [2] > http://www-public.it-sudparis.eu/~maigron/RIR_Stats/RIR_Delegations/LACNIC/IPv4-ByNb.html > > > > > > > > > El 27/04/12, César García escribió: > >> G V, > >> en este caso en específico considero sospechoso muchas conexiones desde > y > >> hacia un sitio. > >> > >> Jeyson, > >> > >> en este caso en particular no tengo el pcap, el cual como acertadamente > >> mencionas me aligeraría mucha la carga. > >> > >> > >> > >> > >> El 27 de abril de 2012 11:22, Jeyson Henao > escribió: > >> > >>> Hola, > >>> > >>> Las capturas de red en esta caso .pcap son precisamente para esto, que > >>> con > >>> el uso de una herramienta (wireshark) puedes determinar mediante > >>> tu análisis y el apoyo en la herramientas las actividades realizadas > por > >>> dichas maquina. O enfocarte en una herramienta que te parseado de la > info > >>> que tienes en ese archivo. > >>> > >>> > >>> Saludos... > >>> > >>> > >>> 2012/4/27 G V > >>> > qué considerarias sospechoso? muchas conexiones a un mismo sitio? > desde un mismo sitio? una secuencia? > > 2012/4/27 César García : > >Saludos a todos en la lista: > > > > Tengo una lista de direcciones IP como la siguiente: > > > > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], > ['10.0.2.1', > > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] > > > > pero con muchas mas direcciones, cada lista representa fuente y > > destino > de > > una conexión tc, esta información fue extraída de un log, quisiera > > solicitarles cordialmente orientación, ya que quisiera analizar esta > > información en busqueda de algun tipo de actividad sospechosa. > > Encontré > el > > proyecto NetGrok[1] que hace lo que necesito pero con archivos > pcap, y > la > > información que tengo es en texto. > > > > Me pregunto si sería posible hacer un gráfico esta información para > > visualizar esto de forma más fácil, claro esta que cualquier otra > sugerencia > > de la lista esta más que bienvenida > > > > [1] http://www.cs.umd.edu/projects/netgrok/ > > > > ___ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > >>> > >>> > >>> ___ > >>> Python-es mailing list > >>> Python-es@python.org > >>> http://mail.python.org/mailman/listinfo/python-es > >>> FAQ: http://python-es-faq.wikidot.com/ > >>> > >>> > >> > > > > -- > > Enviado desde mi dispositivo móvil > > ___ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > > -- > Luis M. Ibarra > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
El día 27 de abril de 2012 15:14, Carlos Herrera Polo escribió: > Coincido con Cesar. > Seria interesante alguna herramiente que pueda tomar las variables que > mencionas y mostrar el trafico graficamente. > Mi caso imagino es similar al tuyo Cesar, tengo un firewall Juniper > que envia por syslog el trafico de red, con un script en python que > hice convierto esos registros en valores que inserto en una base de > datos Mysql ya con los resumenes de trafico x usuario, pero eso es > todo y no ayuda demasiado... > Si se pudiera utilizar "algo" para volcar esa informacion a graficas > seria genial Bueno, graficar el tráfico ni idea, pero para armar el grafo puedes utilizar digraph[1]; y puedes localizar a donde pertenecen a través de un whois o utilizar la información de RIR[2]. [1] http://networkx.lanl.gov/reference/classes.digraph.html [2] http://www-public.it-sudparis.eu/~maigron/RIR_Stats/RIR_Delegations/LACNIC/IPv4-ByNb.html > > > > El 27/04/12, César García escribió: >> G V, >> en este caso en específico considero sospechoso muchas conexiones desde y >> hacia un sitio. >> >> Jeyson, >> >> en este caso en particular no tengo el pcap, el cual como acertadamente >> mencionas me aligeraría mucha la carga. >> >> >> >> >> El 27 de abril de 2012 11:22, Jeyson Henao escribió: >> >>> Hola, >>> >>> Las capturas de red en esta caso .pcap son precisamente para esto, que >>> con >>> el uso de una herramienta (wireshark) puedes determinar mediante >>> tu análisis y el apoyo en la herramientas las actividades realizadas por >>> dichas maquina. O enfocarte en una herramienta que te parseado de la info >>> que tienes en ese archivo. >>> >>> >>> Saludos... >>> >>> >>> 2012/4/27 G V >>> qué considerarias sospechoso? muchas conexiones a un mismo sitio? desde un mismo sitio? una secuencia? 2012/4/27 César García : > Saludos a todos en la lista: > > Tengo una lista de direcciones IP como la siguiente: > > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] > > pero con muchas mas direcciones, cada lista representa fuente y > destino de > una conexión tc, esta información fue extraída de un log, quisiera > solicitarles cordialmente orientación, ya que quisiera analizar esta > información en busqueda de algun tipo de actividad sospechosa. > Encontré el > proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y la > información que tengo es en texto. > > Me pregunto si sería posible hacer un gráfico esta información para > visualizar esto de forma más fácil, claro esta que cualquier otra sugerencia > de la lista esta más que bienvenida > > [1] http://www.cs.umd.edu/projects/netgrok/ > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ >>> >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> > > -- > Enviado desde mi dispositivo móvil > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ -- Luis M. Ibarra ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
Coincido con Cesar. Seria interesante alguna herramiente que pueda tomar las variables que mencionas y mostrar el trafico graficamente. Mi caso imagino es similar al tuyo Cesar, tengo un firewall Juniper que envia por syslog el trafico de red, con un script en python que hice convierto esos registros en valores que inserto en una base de datos Mysql ya con los resumenes de trafico x usuario, pero eso es todo y no ayuda demasiado... Si se pudiera utilizar "algo" para volcar esa informacion a graficas seria genial El 27/04/12, César García escribió: > G V, > en este caso en específico considero sospechoso muchas conexiones desde y > hacia un sitio. > > Jeyson, > > en este caso en particular no tengo el pcap, el cual como acertadamente > mencionas me aligeraría mucha la carga. > > > > > El 27 de abril de 2012 11:22, Jeyson Henao escribió: > >> Hola, >> >> Las capturas de red en esta caso .pcap son precisamente para esto, que >> con >> el uso de una herramienta (wireshark) puedes determinar mediante >> tu análisis y el apoyo en la herramientas las actividades realizadas por >> dichas maquina. O enfocarte en una herramienta que te parseado de la info >> que tienes en ese archivo. >> >> >> Saludos... >> >> >> 2012/4/27 G V >> >>> qué considerarias sospechoso? muchas conexiones a un mismo sitio? >>> desde un mismo sitio? una secuencia? >>> >>> 2012/4/27 César García : >>> >Saludos a todos en la lista: >>> > >>> > Tengo una lista de direcciones IP como la siguiente: >>> > >>> > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', >>> > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] >>> > >>> > pero con muchas mas direcciones, cada lista representa fuente y >>> > destino >>> de >>> > una conexión tc, esta información fue extraída de un log, quisiera >>> > solicitarles cordialmente orientación, ya que quisiera analizar esta >>> > información en busqueda de algun tipo de actividad sospechosa. >>> > Encontré >>> el >>> > proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y >>> la >>> > información que tengo es en texto. >>> > >>> > Me pregunto si sería posible hacer un gráfico esta información para >>> > visualizar esto de forma más fácil, claro esta que cualquier otra >>> sugerencia >>> > de la lista esta más que bienvenida >>> > >>> > [1] http://www.cs.umd.edu/projects/netgrok/ >>> > >>> > ___ >>> > Python-es mailing list >>> > Python-es@python.org >>> > http://mail.python.org/mailman/listinfo/python-es >>> > FAQ: http://python-es-faq.wikidot.com/ >>> > >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > -- Enviado desde mi dispositivo móvil ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
G V, en este caso en específico considero sospechoso muchas conexiones desde y hacia un sitio. Jeyson, en este caso en particular no tengo el pcap, el cual como acertadamente mencionas me aligeraría mucha la carga. El 27 de abril de 2012 11:22, Jeyson Henao escribió: > Hola, > > Las capturas de red en esta caso .pcap son precisamente para esto, que con > el uso de una herramienta (wireshark) puedes determinar mediante > tu análisis y el apoyo en la herramientas las actividades realizadas por > dichas maquina. O enfocarte en una herramienta que te parseado de la info > que tienes en ese archivo. > > > Saludos... > > > 2012/4/27 G V > >> qué considerarias sospechoso? muchas conexiones a un mismo sitio? >> desde un mismo sitio? una secuencia? >> >> 2012/4/27 César García : >> >Saludos a todos en la lista: >> > >> > Tengo una lista de direcciones IP como la siguiente: >> > >> > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', >> > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] >> > >> > pero con muchas mas direcciones, cada lista representa fuente y destino >> de >> > una conexión tc, esta información fue extraída de un log, quisiera >> > solicitarles cordialmente orientación, ya que quisiera analizar esta >> > información en busqueda de algun tipo de actividad sospechosa. Encontré >> el >> > proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y >> la >> > información que tengo es en texto. >> > >> > Me pregunto si sería posible hacer un gráfico esta información para >> > visualizar esto de forma más fácil, claro esta que cualquier otra >> sugerencia >> > de la lista esta más que bienvenida >> > >> > [1] http://www.cs.umd.edu/projects/netgrok/ >> > >> > ___ >> > Python-es mailing list >> > Python-es@python.org >> > http://mail.python.org/mailman/listinfo/python-es >> > FAQ: http://python-es-faq.wikidot.com/ >> > >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Conferencia Python Argentina 2012 - Reuniones Científicas - Llamado a Sponsors, Investigadores y Becarios
Para la PyCon Argentina 2012 estamos tratando de tramitar un subsidio para Reuniones Científicas (RC 2012) del FonSoft (Agencia Nacional de Promoción Científica y Tecnológica), que originalmente vencía el 30-04-2012, pero la presentación se ha prorrogado hasta el 15-05-2012: http://www.agencia.gob.ar/spip.php?id_article=1585&page=novedad_articulo http://www.agencia.gob.ar/spip.php?page=convocatorias_articulo&mostrar=1583 No solo es un reconocimiento oficial, también es un apoyo económico importante, permite por ej. cubrir el viaje de algunos disertantes, impresiones y publicaciones, "cena de camaradería", etc. Por lo tanto, si fueron sponsors o conocen algún sponsor o interesado, por favor envienos el dato de contacto para poder comunicarnos y cumplir con las formalidades en tiempo y forma. Además, si son investigadores o becarios, no duden en consultarnos, igualmente se enviarán invitaciones particulares y se organizará los respectivos concursos de trabajos. La cartas de presentación actualizada (incluyendo datos de invitados internacionales y organizadores) está publicada en: http://ar.pycon.org/2012/static/docs/carta_sponsors_pyconar2012.pdf Brochure (en Inglés): http://ar.pycon.org/2012/static/docs/pyconar2012_brief.pdf Sitio web: http://ar.pycon.org/2012/sponsors/prospectus PyCon Argentina 2012 es la 4ta edición del mayor encuentro anual para la comunidad de usuarios y desarrolladores del Lenguaje de programación Python en Español. Es una conferencia comunitaria organizada y llevada a cabo por voluntarios de la comunidad Python Argentina (PyAr). Este año se realizará en la Universidad Nacional de Quilmes (Gran Buenos Aires) entre el 12 y 17 de Noviembre. Se agradece difusión, Atte. Mariano Reingart Coordinador General PyCon Argentina 2012 http://ar.pycon.org ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
Hola, Las capturas de red en esta caso .pcap son precisamente para esto, que con el uso de una herramienta (wireshark) puedes determinar mediante tu análisis y el apoyo en la herramientas las actividades realizadas por dichas maquina. O enfocarte en una herramienta que te parseado de la info que tienes en ese archivo. Saludos... 2012/4/27 G V > qué considerarias sospechoso? muchas conexiones a un mismo sitio? > desde un mismo sitio? una secuencia? > > 2012/4/27 César García : > >Saludos a todos en la lista: > > > > Tengo una lista de direcciones IP como la siguiente: > > > > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', > > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] > > > > pero con muchas mas direcciones, cada lista representa fuente y destino > de > > una conexión tc, esta información fue extraída de un log, quisiera > > solicitarles cordialmente orientación, ya que quisiera analizar esta > > información en busqueda de algun tipo de actividad sospechosa. Encontré > el > > proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y la > > información que tengo es en texto. > > > > Me pregunto si sería posible hacer un gráfico esta información para > > visualizar esto de forma más fácil, claro esta que cualquier otra > sugerencia > > de la lista esta más que bienvenida > > > > [1] http://www.cs.umd.edu/projects/netgrok/ > > > > ___ > > Python-es mailing list > > Python-es@python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Analizar trafico
qué considerarias sospechoso? muchas conexiones a un mismo sitio? desde un mismo sitio? una secuencia? 2012/4/27 César García : > Saludos a todos en la lista: > > Tengo una lista de direcciones IP como la siguiente: > > [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', > '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] > > pero con muchas mas direcciones, cada lista representa fuente y destino de > una conexión tc, esta información fue extraída de un log, quisiera > solicitarles cordialmente orientación, ya que quisiera analizar esta > información en busqueda de algun tipo de actividad sospechosa. Encontré el > proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y la > información que tengo es en texto. > > Me pregunto si sería posible hacer un gráfico esta información para > visualizar esto de forma más fácil, claro esta que cualquier otra sugerencia > de la lista esta más que bienvenida > > [1] http://www.cs.umd.edu/projects/netgrok/ > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Analizar trafico
Saludos a todos en la lista: Tengo una lista de direcciones IP como la siguiente: [['10.0.0.1', '172.16.0.2'], ['10.0.0.2', '172.16.0.4'], ['10.0.2.1', '172.16.0.6'], ['10.0.0.1', '172.16.0.2']] pero con muchas mas direcciones, cada lista representa fuente y destino de una conexión tc, esta información fue extraída de un log, quisiera solicitarles cordialmente orientación, ya que quisiera analizar esta información en busqueda de algun tipo de actividad sospechosa. Encontré el proyecto NetGrok[1] que hace lo que necesito pero con archivos pcap, y la información que tengo es en texto. Me pregunto si sería posible hacer un gráfico esta información para visualizar esto de forma más fácil, claro esta que cualquier otra sugerencia de la lista esta más que bienvenida [1] http://www.cs.umd.edu/projects/netgrok/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] matriz de matrices irregulares en longitud
Hola a todos, Hace tiempo escribí esto, igual te sirve aunque falta pulirlo. Saludos. #!/usr/bin/env python # -*- coding: utf-8 -*- class Vector(list): '''Vector de tamaño fijo con/sin comprobación de tipo''' def __new__(cls, *args, **kwargs): # Internamente los elementos del vector se almacenan en una lista. return list.__new__(cls, *args, **kwargs) def __init__(self, length, default_value=None, initial_values=None, typed=True): # El vector tendrá el tamaño indicado por length. # Los elementos del vector se inicializan con los elementos de initial_values. # Si len(initial_values) < length el vector se rellena con default_value # hasta alcanzar la longitud requerida. # Si len(initial_values) > length se descartan los elementos de initial_values # con indice mayor a length. # Si todos los elementos de initial_values y default_value tienen el mismo # tipo el vector será de dicho tipo y solo podra almacenar valores de # ese tipo. En caso contrario el vector no tendra tipo y podra almacenar # elementos de cualquier tipo. # Si typed == False no se tendra en cuenta el tipo de los elementos. try: same_type = True l = len(initial_values) for i in range(length): if i < l: self.append(initial_values[i]) same_type = same_type and (type(default_value) == type(initial_values[i])) else: self.append(default_value) except: self.extend([default_value]* length) finally: self.__length = length self.__type = type(default_value) if (same_type and typed) else type(None) def __setitem__(self, index, value): # Comprobamos el tipo antes de insertar un elemento. if self.__type == type(value) or self.__type == type(None): super(Vector, self).__setitem__(index, value) else: # Elemento de tipo incorrecto, no se inserta. raise ValueError def __setslice__(self, i, j, sequence): # Impedimos este método para que altere el tamaño del vector. # TODO: hacer lo mismo con el resto de métodos de la clase list que # pueden cambiar el tamaño del vector. raise ValueError # FIXME: poner la excepción correcta. def __count__(self): return self.__length @property def type(self): return self.__type @property def length(self): return self.__length class Matrix(Vector): '''Matriz bidimensional de tamaño fijo con/sin comprobación de tipo''' def __init__(self, cols, rows, default_value=None, initial_values=None, typed=True): # Indicamos el número de columnas y filas de la matriz. self.__cols = cols self.__rows = rows super(Matrix, self).__init__(cols * rows, default_value, initial_values, typed) def __setitem__(self, index, value): # FIXME: interceptar índices no válidos. col, row = index index = self.__cols * row + col super(Matrix, self).__setitem__(index, value) def __getitem__(self, index): # FIXME: interceptar índices no válidos. col, row = index index = self.__cols * row + col return super(Matrix, self).__getitem__(index) def __repr__(self): result = "" for i in range(0, self.length, self.cols): result += "[%s]" % ", ".join([str(s) for s in self[i: i + self.cols]]) return "[%s]" % result def __str__(self): result = "" for i in range(0, self.length, self.cols): result += "%s\n" % " ".join([str(s) for s in self[i: i + self.cols]]) return result @property def cols(self): return self.__cols @property def rows(self): return self.__rows def row(self, index): '''Devuelve la fila con índice index''' # FIXME: comprobar limites i = index * self.__cols return self[i:i + self.__cols] def col(self, index): '''Devuelve la columna con índice index''' # FIXME: comprobar limites return [self[index, i] for i in range(self.__cols)] def submatrix(self, ix, iy, jx, jy): '''Devuleve una submatrix de la matrix''' m = [] for y in range(iy, jy + 1): k = y * self.__cols m.append(self[k + ix:k + jx + 1]) # OJO!! el valor devuelto es un lista y no de la clase matrix return m def list(self): '''Devuleve los elementos de la matrix como una lista''' return list(self) def sublist(self, ix, iy, jx, jy): '''Devuleve una submatrix de la matrix en forma de lista''' l = [] for y in range(iy, jy + 1): k = y * self.__cols l.extend(self[k + ix:k + jx + 1]) # OJO!!