!qfTHdfJVUSCjrvSsUo:matrix.org

Python Científico

1506 Members
Python + Ciencia en español20 Servers

Load older messages


Timestamp Message
8 Apr 2020
10:22:53@telegram_59004152:t2bot.ioJavi Blasco seems to be a matter of the difference of returning a copy (a) vs creating a new object (b):
https://stackoverflow.com/questions/58302190/why-numpy-array-has-size-of-112-byte-and-when-i-do-flatten-it-it-has-96-byte-of
10:24:19@telegram_59004152:t2bot.ioJavi BlascoI presume 96 is the size of the reference to the object
10:25:41@telegram_59004152:t2bot.ioJavi Blasco perdon, cambié a inglés... sin embargo, las medidas a.nbytes son iguales para a y b, y muy parecidas a las que da getsizeof
10:28:06@telegram_59004152:t2bot.ioJavi Blascouna cosa similar me habia pasado con los diccionarios, que no importaba cómo de llenos estuvieran, siempre indicaban el mismo tamaño, presumiblamente el tamaño de la referencia al diccionario, y no del diccionario en si mismo
10:28:55@telegram_59004152:t2bot.ioJavi Blasco`In [57]: getsizeof(dict({'a': 1})) Out[57]: 288 In [58]: getsizeof(dict({'a': 1, 'b': 2})) Out[58]: 288 In [59]: getsizeof(dict({'a': 1, 'b': 2, 'c': 3})) Out[59]: 288`
10:32:04@telegram_318394724:t2bot.ioAclis ...podría ser que el primer valor, el más pequeño no sea el del objeto si no el del puntero que hacer referencia al objeto. Por buscarle una explicación
10:33:50@telegram_59004152:t2bot.ioJavi Blascosi, a eso me refiero con la referencia
10:35:26@telegram_59004152:t2bot.ioJavi Blascopython usa copias por nombre, técnicamente, pero todo quisqui las llama referencias, y nadie me ha dado una explicación clara de la diferencia entre ellas, así que sigo hablando de referencias/nombre de forma indistinta
10:36:17@telegram_59004152:t2bot.ioJavi Blasco
In reply to Pablo
Técnicamente Python tiene semántica de copia por nombre. Si fuera copia for referencia entonces

def f(x):
x= []
y=[1,2]
f(y)

afectaría a y puesto que en la función x sería lo mismo que y (x es una referencia a y).
Ver explicación alienígena de Pablo aquí...
10:37:55@telegram_59004152:t2bot.ioJavi BlascoY seguro que le podemos pedir que nos amplíe si te interesa el tema, pero vamos, que en el fondo viene a ser un "tienes razón, es el tamaño de la etiqueta al objeto, no del objeto en si mismo
10:38:26@telegram_59004152:t2bot.ioJavi Blascoy ahora yo me escondo en una esquina y dejo que Pablo despedace todo lo que acabo de decir :p
11:26:26@telegram_318394724:t2bot.ioAclis ...👍 (thumbs up sign)
👍 (thumbs up sign)
m.file
11:26:40@telegram_318394724:t2bot.ioAclis ...👍
11:33:31@telegram_155516902:t2bot.ioManuel yo pensaba que era por esto:
In [4]: import numpy as np                                                      

In [5]: a = np.array(1)

In [6]: a
Out[6]: array(1)

In [7]: a*3
Out[7]: 3

In [8]: [a]*3
Out[8]: [array(1), array(1), array(1)]
13:10:24@telegram_12934778:t2bot.ioPablo
In reply to Javi Blasco
una cosa similar me habia pasado con los diccionarios, que no importaba cómo de llenos estuvieran, siempre indicaban el mismo tamaño, presumiblamente el tamaño de la referencia al diccionario, y no del diccionario en si mismo
No, getsizeof devuelve el tamaño del diccionario, lo que ocurre es que el diccionario reserva espacio para no tener que hacerse grande cada vez que metes algo
13:11:06@telegram_12934778:t2bot.ioPabloPor eso getsizeof te devuelve lo mismo hasta que pases el umbral y luego te devuelve algo aún más grande
13:11:33@telegram_12934778:t2bot.ioPabloSi haces un olor del número de items y el tamaño verás la estrategia de overallocation
13:12:55@telegram_12934778:t2bot.ioPabloEn general se hace más grande cuando está 2/3 lleno
13:17:32@telegram_12934778:t2bot.ioPabloDe todas formas ten en cuenta que getsizeof no es recursivo así que he va a devolver el mismo tamaño si llenas el diccionario con enteros que con strings que con tuplas
20:46:38@telegram_770680933:t2bot.ioRazaHola
22:57:42@telegram_390893254:t2bot.ioCS changed their display name from elcaos (Telegram) to CS.
9 Apr 2020
01:35:11@telegram_687313251:t2bot.ioJota joined the room.
01:35:11@telegram_687313251:t2bot.ioJota changed their display name from telegram_687313251 to Jota.
13:43:22@telegram_600055463:t2bot.iodanim47c changed their profile picture.
15:15:26@telegram_770680933:t2bot.ioRazaEntonces machista no pero hembrista si?
15:15:37@telegram_2397373:t2bot.ioJuan Luis Cano
In reply to Raza
Entonces machista no pero hembrista si?
adiós
16:22:26@telegram_1145029537:t2bot.ioJames Fedrick joined the room.
17:22:56@telegram_2397373:t2bot.ioJuan Luis Cano Por si alguien se quiere unir: https://www.youtube.com/watch?v=ExljOlQlI8M
19:29:23@telegram_671205300:t2bot.ioIA Suarez changed their display name from Ivan Antoni Suarez Villalba to IA Suarez.
22:56:35@telegram_1142660290:t2bot.ioNick Verstraete joined the room.

There are no newer messages yet.


Back to Room List