[Python-es] Duda sobre listas de listas
Kiko
kikocorreoso en gmail.com
Mie Mar 13 11:21:22 CET 2013
El 13 de marzo de 2013 11:10, Rafael Gomes <rggg88 en hotmail.com> escribió:
> Ok gracias entiendo, por casualidad me habia dado cuenta de eso de no
> aceder a los elementos sino a las listas a poco, iba a avisar ahora cuando
> recebi tu respuesta.
> Lo hice asi:
> l1=[[u'00:00:00:02:44:a9:b5:34', '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:
> l2.append(l1[i][j])
> print l2
>
> Solo que tengo un problema/ duda.
> Mi l2 queda asi:
> [u'00:00:00:02:44:a9:b5:34', '1', u'00:00:00:1b:11:b4:16:80'] y yo queria
> que el uno se repetisiese despues del u'00:00:00:1b:11:b4:16:80' como en la
> lista original o sea que el l2 quedase asi:
> l2=[[u'00:00:00:02:44:a9:b5:34', '1', u'00:00:00:1b:11:b4:16:80', '1'].
> Solo que no se como puedo hacer esto de forma generica.
>
Depende de tu contexto, ¿ese '1', siempre es '1'? o ¿ese '1' puede ser
cualquier otra cosa que depende del elemento anterior de la lista? o ¿ese
'1' es independiente de cualquier otro elemento?,...
Define un poco mejor la pregunta y te podremos aportar una respuesta más
detallada a tu problema. Si ese '1' se repite siempre como muestras en tu
ejemplo una solución fea podría ser:
l1=[[u'00:00:00:02:44:a9:b5:34', '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('1')
print l2
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20130313/5661cc29/attachment.html>
Más información sobre la lista de distribución Python-es