Tengo una lista con sublistas. Quiero imprimir todas las sublistas con una longitud igual a 3.
Estoy haciendo lo siguiente en python:
for x in values[:]:
if len(x) == 3:
print(x)
valueses la lista original ¿El código anterior imprime todas las sublistas con una longitud igual a 3 para cada valor de x? Quiero mostrar las sublistas donde length == 3solo una vez.
El problema esta resuelto. El problema es con el editor Eclipse. No entiendo la razón, pero muestra solo la mitad de mi lista cuando ejecuto mi bucle.
¿Hay alguna configuración que deba cambiar en Eclipse?

print valuesy mostrar la salida aquí? editar: o simplemente verifique que no esté en blanco.Respuestas:
Prueba esto,
x in mylistes mejor y más legible quex in mylist[:]ylen(x)debería ser igual a3.o si necesita más uso pitónico de listas de comprensión
fuente
También puede usar en
for x in valueslugar defor x in values[:]; este último hace una copia innecesaria. Además, por supuesto, ese código verifica una longitud de 2 en lugar de 3 ...El código solo imprime un elemento por valor de
x- yxestá iterando sobre los elementos devalues, que son las sublistas. Por lo tanto, solo imprimirá cada sublista una vez.fuente
values.Aquí está la solución que estaba buscando. Si desea crear List2 que contiene la diferencia de los elementos numéricos en List1.
Tenga en cuenta que mientras
len(list1)sea 11 (elementos),len(list2)solo serán 10 elementos porque estamos comenzando nuestro bucle for desde el elemento con el índice 1 en la lista1 no desde el elemento con el índice 0 en la lista1fuente
Haz esto en su lugar:
fuente