lista = [ [ '1' , 0.0 , 1.8 ] , [ '1' , 3.0 , 2.0 ] , [ '1' , 5.0 , 1.5 ] , [ '1' , 6.0 , 1.5 ] , [ '1' , 9.0 , 3.0 ] , [ '2' , 0.0 , 1.8 ] , [ '2' , 1.0 , 1.5 ] , [ '2' , 2.0 , 1.5 ] , [ '2' , 3.0 , 2.0 ] , [ '2' , 8.0 , 2.1 ] , [ '3' , 0.0 , 1.8 ] , [ '3' , 1.0 , 2.0 ] , [ '3' , 4.0 , 1.5 ] , [ '3' , 8.0 , 1.5 ] , [ '3' , 9.0 , 1.5 ] , [ '4' , 0.0 , 1.8 ] , [ '4' , 1.0 , 1.5 ] , [ '4' , 2.0 , 2.0 ] , [ '4' , 3.0 , 2.0 ] , [ '4' , 4.0 , 2.0 ] ]
agrupadas = { }
for elem in lista:
fila = elem[ 0 ]
if fila in agrupadas:
agrupadas[ fila] [ 1 ] .append ( elem[ 1 ] )
agrupadas[ fila] [ 2 ] .append ( elem[ 2 ] )
else :
agrupadas[ fila] = [ fila, [ elem[ 1 ] ] , [ elem[ 2 ] ] ]
resultado = [ ]
for item in agrupadas.values ( ) :
resultado.append ( [ item[ 0 ] , sum ( item[ 1 ] ) /len ( item[ 1 ] ) , sum ( item[ 2 ] ) /len ( item[ 2 ] ) ] )
print ( resultado)
bGlzdGEgPSBbWycxJywgMC4wLCAxLjhdLCBbJzEnLCAzLjAsIDIuMF0sIFsnMScsIDUuMCwgMS41XSwgWycxJywgNi4wLCAxLjVdLCBbJzEnLCA5LjAsIDMuMF0sIFsnMicsIDAuMCwgMS44XSwgWycyJywgMS4wLCAxLjVdLCBbJzInLCAyLjAsIDEuNV0sIFsnMicsIDMuMCwgMi4wXSwgWycyJywgOC4wLCAyLjFdLCBbJzMnLCAwLjAsIDEuOF0sIFsnMycsIDEuMCwgMi4wXSwgWyczJywgNC4wLCAxLjVdLCBbJzMnLCA4LjAsIDEuNV0sIFsnMycsIDkuMCwgMS41XSwgWyc0JywgMC4wLCAxLjhdLCBbJzQnLCAxLjAsIDEuNV0sIFsnNCcsIDIuMCwgMi4wXSwgWyc0JywgMy4wLCAyLjBdLCBbJzQnLCA0LjAsIDIuMF1dCgphZ3J1cGFkYXMgPSB7fQpmb3IgZWxlbSBpbiBsaXN0YToKICAgIGZpbGEgPSBlbGVtWzBdCiAgICBpZiBmaWxhIGluIGFncnVwYWRhczoKICAgICAgICBhZ3J1cGFkYXNbZmlsYV1bMV0uYXBwZW5kKGVsZW1bMV0pCiAgICAgICAgYWdydXBhZGFzW2ZpbGFdWzJdLmFwcGVuZChlbGVtWzJdKQogICAgZWxzZToKICAgICAgICBhZ3J1cGFkYXNbZmlsYV0gPSBbZmlsYSwgW2VsZW1bMV1dLCBbZWxlbVsyXV1dCgpyZXN1bHRhZG8gPSBbXQpmb3IgaXRlbSBpbiBhZ3J1cGFkYXMudmFsdWVzKCk6CiAgICByZXN1bHRhZG8uYXBwZW5kKFtpdGVtWzBdLCBzdW0oaXRlbVsxXSkvbGVuKGl0ZW1bMV0pLCBzdW0oaXRlbVsyXSkvbGVuKGl0ZW1bMl0pXSkKCnByaW50KHJlc3VsdGFkbykK