Hola de nuevo, ahora tengo una duda relacionada con la pregunta de mañana que 
lo queria guardar de forma diferente, ahora la informacion la tengo en este 
genero:

switch=[[u'00:00:00:1b:11:b4:16:80'], [u'00:00:00:02:44:a9:b5:34']]
puertos={u'00:00:00:02:44:a9:b5:34': [u'1'], u'00:00:00:1b:11:b4:16:80': [u'1']}
mi=[[u'00:00:00:1b:11:b4:16:80', 65534, u'00:1b:11:b4:16:80'], 
[u'00:00:00:1b:11:b4:16:80', 2, u'76:45:87:ba:d7:5a'], 
[u'00:00:00:1b:11:b4:16:80', 1, u'00:1b:11:b4:16:80'], 
[u'00:00:00:02:44:a9:b5:34', 65534, u'00:02:44:a9:b5:34'], 
[u'00:00:00:02:44:a9:b5:34', 2, u'0e:2f:31:21:82:ee'], 
[u'00:00:00:02:44:a9:b5:34', 1, u'00:02:44:a9:b5:34'], 
[u'00:00:00:02:44:a9:b5:34', 3, u'ba:67:bb:e1:da:5b']]

lista_hosts={}
host=[]

for sw in switch:
        for elem in mi:
                if (str(elem[0])==sw):
                        lista_hosts[sw]=[]
                        if str(elem[1]) not in (['65534'] + puertos[elem[0]]):
                                aux=[elem[2], elem[1]]
                                host.append(aux)
                                if host not in lista_hosts[sw]:
                                        lista_hosts[sw].append(host)

print lista_hosts

Mi idea es tener un diccionario para cada switch associando a cada los hosts 
respectivos, es decir, algo asi:
{u'00:00:00:1b:11:b4:16:80,1': [[[u'76:45:87:ba:d7:5a', 2], 
u'00:00:00:02:44:a9:b5:34,1':[u'0e:2f:31:21:82:ee', 2], [u'ba:67:bb:e1:da:5b', 
3]]}


Solo que el me devuelve la lista vacia y no se que estoy haciendo mal, pienso 
que el problema es en el primer if pero no se que estoy haciendo mal.

Otras cosas q experimente:

Yo lo maximo de bueno que consegui fue esto:
{u'00:00:00:02:44:a9:b5:34,1':[u'0e:2f:31:21:82:ee', 2], [u'ba:67:bb:e1:da:5b', 
3], [u'76:45:87:ba:d7:5a', 2]} {u'00:00:00:1b:11:b4:16:80,1':[]}

La otra cosa que hice fue esto:

portos={u'00:00:00:02:44:a9:b5:34': [u'1'], u'00:00:00:1b:11:b4:16:80': [u'1']}
mi=[[u'00:00:00:1b:11:b4:16:80', 65534, u'00:1b:11:b4:16:80'], 
[u'00:00:00:1b:11:b4:16:80', 2, u'76:45:87:ba:d7:5a'], 
[u'00:00:00:1b:11:b4:16:80', 1, u'00:1b:11:b4:16:80'], 
[u'00:00:00:02:44:a9:b5:34', 65534, u'00:02:44:a9:b5:34'], 
[u'00:00:00:02:44:a9:b5:34', 2, u'0e:2f:31:21:82:ee'], 
[u'00:00:00:02:44:a9:b5:34', 1, u'00:02:44:a9:b5:34'], 
[u'00:00:00:02:44:a9:b5:34', 3, u'ba:67:bb:e1:da:5b']]

lista_hosts=[]
host=[]

for elem in mi:
        if str(elem[1]) not in (['65534'] + portos[elem[0]]):
                aux=[elem[2], elem[1]]
                host.append(aux)
                if host not in lista_hosts:
                        lista_hosts.append(host)
print lista_hosts

que solo me da los hosts.
Pero cuando entro con los switches no consigo :/.

Si me pueden dar alguna pista o asi agradecia.

La otra duda es sobre como puedo hacer matrizes en python? Yo utilize este 
metodo pero no se si es el mas correcto

a=0
a=[a]*tamanho
matriz_adj=[a]*tamanho
print matriz_adj

La matriz es para tratar de hacer la matriz adjacente de mi red de casa.

Muchas gracias mas una vez, disculpen mi ignorancia.
                                          
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a