Articles of referencia de

¿Almacenar elementos de una lista, en otra lista, por referencia, en Python?

Pensé que lo anotaría ahora que lo había visto; sería bueno obtener una confirmación de este comportamiento; Vi ¿ Cómo paso una variable por referencia? , pero no estoy seguro de cómo interpretarlo en este contexto. Digamos que tenemos estas dos matrices / listas: a = [1, 2, 3, 4] b = [-1, a, -100, […]

Problema de referencia de Python

Estoy experimentando un (para mí) problema muy raro en Python. Tengo una clase llamada Menú: (fragmento) class Menu: “””Shows a menu with the defined items””” menu_items = {} characters = map(chr, range(97, 123)) def __init__(self, menu_items): self.init_menu(menu_items) def init_menu(self, menu_items): i = 0 for item in menu_items: self.menu_items[self.characters[i]] = item i += 1 Cuando hago […]

La función copy.deepcopy () de Python no funciona correctamente

He estado jugando con la función de copia profunda y la función de copia y tengo el mismo problema con ambos. Es como si la copia fuera una referencia (o un puntero) en lugar de una copia adecuada. Estoy trabajando con registros de datos (clases) en Python, tal vez podría ser eso … Te muestro […]

cuando una iteración de la lista de python es y no es una referencia

¿Alguien podría ofrecer una explicación concisa de la diferencia entre estas dos operaciones de Python en términos de modificar la lista? demo = [“a”, “b”, “c”] for d in demo: d = “” print demo #output: [‘a’, ‘b’, ‘c’] for c in range(len(demo)): demo[c] = “” print demo #output: [”, ”, ”] En otras palabras, […]

Python y Java parámetros pasando

He visto en varios lugares, incluida la documentación de Python que Python utiliza semántica de “asignación”. Procedente de un fondo de Java, donde el error común de decir “Java pasa primitivas por valor y objetos por referencia” es el resultado de tener referencias de objetos por valor. No puedo evitar preguntarme si Python realmente está […]

¿Cómo funciona la referencia de Python?

Estoy confundido con las referencias de Python. Considere el siguiente ejemplo: Mi tarea: editar cada elemento de la lista. d = { ‘m’: [1,2,3] } m = d[‘m’] m = m[1:] # m changes its reference to the new sliced list, edits m but not d (I wanted to change d) Similar: d = { […]

¿Por qué Python maneja ‘1 es 1 ** 2’ de manera diferente a ‘1000 es 10 ** 3’?

Inspirado por esta pregunta sobre el almacenamiento en caché de enteros y cadenas pequeños, descubrí el siguiente comportamiento que no entiendo. >>> 1000 is 10**3 False Pensé que entendía este comportamiento: 1000 es demasiado grande para ser almacenado en caché. 1000 y 10 ** 3 puntos a 2 objetos diferentes. Pero me equivoqué: >>> 1000 […]

Rutas de archivo relativas en paquetes de Python

¿Cómo puedo hacer referencia a un archivo en relación con el directorio de un paquete? Mi estructura de directorio es: / foo paquete1 / recursos / __init__.py paquete2 / recursos / __init__.py script.py script.py importa paquetes package1 y package2 . Aunque los paquetes pueden ser importados por cualquier otro script en el sistema. ¿Cómo debo […]

Python: Asignar “a través” de un iterador

Tengo un iterador sobre una secuencia mutable, por ejemplo foo = [1,2,3,4,5] for bar in foo: ¿Hay una manera de escribir a los elementos en foo usando la referencia que está contenida en el iterador? La tarea ingenua: bar = 42 No funciona, por supuesto. ¿Es posible usar la referencia “detrás de la cortina” al […]

¿Por qué ha decidido Python en contra de las referencias constantes?

Nota: no estoy hablando de prevenir la reconexión de una variable. Estoy hablando de evitar la modificación de la memoria a la que se refiere la variable, y de cualquier memoria a la que se pueda acceder desde allí siguiendo los contenedores nesteds. Tengo una gran estructura de datos, y quiero exponerla a otros módulos, […]