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/