[Python-es] Duda sobre listas de listas

Rafael Gomes rggg88 en hotmail.com
Mie Mar 13 13:00:50 CET 2013


Muchas gracias, voy a ver si me consigo explicar mejor de esta vez.
Esta información la queria de forma separada para luego poder construir o intentar construir la matriz adjacencia de la red entiendes? Por eso la necesidad de no querer pares repetidos y queria tener algo asi: 
[['src-addr', 'src-port'],
 ['dst-addr', 'dst-port']]
Para asi aceder a cada linea/coluna para luego pienso yo me facilita la construccion de la matriz adjacencia siempre y cuando tenga la informacion de mac_address guardada en otra lista o base de dados.

Otra razon por la que estaba a tratar hacer esto, era para luego tratar diferenciar los portos que correspondem a dispositivos terminales(hosts) de switch fisicamente. Entiendes el porque de quererlo de esa forma?

Muchas gracias mas una vez.


Saludos rafael.

Date: Wed, 13 Mar 2013 12:37:45 +0100
From: kikocorreoso en gmail.com
To: python-es en python.org
Subject: Re: [Python-es] Duda sobre listas de listas

El 13 de marzo de 2013 12:17, Rafael Gomes <rggg88 en hotmail.com> escribió:




Si disculpa, pense más rápido de lo que escrevi y pense que ya habia referido la información.
La información de mi lista es el primer numero me dá la dirección mac de las máquinas conectadas a la red, y el segundo es el puerto por la cual ligan. Por eso el valor 1 puede variar de acuerdo a como tenga la red.


Resumiendo mi lista tiene el siguiente formato:
l1=[['src-addr', 'src-port','dst-addr', 'dst-port']]

La solucion que dijiste fue la primera que tuve, pero el problema es que ni siempre va ser 1.


Muchas gracias mas una vez.


Continuando con código feo y sin llegar a entender 100% tu problema entiendo que quieres guardar pares:
'src-addr', 'src-port' 

'dst-addr', 'dst-port'
que no se repitan:

l1=[[u'00:00:00:02:44:a9:b5:300:00:00:02:44:a9:b5:344', '1', u'00:00:00:1b:11:b4:16:80', '1'], [u'00:00:00:1b:11:b4:16:80', '1', u'00:00:00:02:44:a9:b5:34', '1']]
l2=[]


l=len(l1)-1
c=len(l1[0])-1


for i in range(l):
        for j in range(c):
                if l1[i][j] not in l2 and len(l1[i][j]) > 1:
                        l2.append(l1[i][j])                l2.append(li[i][j+1])
print l2


_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/ 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130313/8f7fd46c/attachment.html>


Más información sobre la lista de distribución Python-es