variable valores una tuplas tupla son qué obtener listas las extraer elementos datos como acceder python tuples

valores - tuplas python



Añadir variables a la tupla (8)

Estoy aprendiendo Python y creando una conexión de base de datos. Al intentar agregar a la base de datos, estoy pensando en crear tuplas con información y luego agregarlas a la base de datos.

Qué estoy haciendo : estoy tomando información del usuario y la almaceno en variables. ¿Puedo agregar estas variables en una tupla? ¿Me pueden ayudar con la sintaxis?

Además, si hay una forma eficiente de hacerlo, por favor comparta ...

EDITAR Permítame editar esta pregunta un poco ... Solo necesito la tupla para ingresar información en la base de datos. Una vez que la información se agrega a la base de datos, ¿debo eliminar la tupla? Quiero decir que ya no necesito la tupla.


Como han indicado otras respuestas, no puede cambiar una tupla existente, pero siempre puede crear una tupla nueva (que puede tomar algunos o todos los elementos de tuplas existentes y / u otras fuentes).

Por ejemplo, si todos los elementos de interés están en variables escalares y conoce los nombres de esas variables:

def maketuple(variables, names): return tuple(variables[n] for n in names)

para ser utilizado, por ejemplo, como en este ejemplo:

def example(): x = 23 y = 45 z = 67 return maketuple(vars(), ''x y z''.split())

por supuesto, este caso se expresaría más simplemente como (x, y, z) (o incluso omitiendo los nombres en su totalidad, (23, 45, 67) ), pero el enfoque maketuple podría ser útil en algunos casos más complicados (por ejemplo, donde los nombres a usar también se determinan dinámicamente y se agregan a una lista durante el cálculo).


En Python 3, puede usar * para crear una nueva tupla de elementos en la tupla original junto con el nuevo elemento.

>>> tuple1 = ("foo", "bar") >>> tuple2 = (*tuple1, "baz") >>> tuple2 (''foo'', ''bar'', ''baz'')


Es tan fácil como lo siguiente:

info_1 = "one piece of info" info_2 = "another piece" vars = (info_1, info_2) # ''vars'' is now a tuple with the values ("info_1", "info_2")

Sin embargo, las tuplas en Python son inmutables , por lo que no se pueden agregar variables a una tupla una vez que se crean.


Estoy bastante seguro de que la sintaxis para esto en python es:

user_input1 = raw_input("Enter Name: ") user_input2 = raw_input("Enter Value: ") info = (user_input1, user_input2)

Una vez establecidas, las tuplas no se pueden cambiar.


Las tuplas son inmutables; No puedes cambiar las variables que contienen después de la construcción. Sin embargo, puede concatenarlos o dividirlos para formar nuevas tuplas:

a = (1, 2, 3) b = a + (4, 5, 6) c = b[1:]

Y, por supuesto, construirlos a partir de valores existentes:

name = "Joe" age = 40 location = "New York" joe = (name, age, location)


Otra táctica que aún no se ha mencionado es el uso de agregar a una lista, y luego convertir la lista a una tupla al final:

mylist = [] for x in range(5): mylist.append(x) mytuple = tuple(mylist) print mytuple

devoluciones

(0, 1, 2, 3, 4)

A veces uso esto cuando tengo que pasar una tupla como un argumento de función, que a menudo es necesario para las funciones numpy.


Puedes comenzar con una tupla en blanco con algo como t = () . Puedes agregar con + , pero tienes que agregar otra tupla. Si desea agregar un solo elemento, conviértalo en un singleton: t = t + (element,) . Puede agregar una tupla de elementos múltiples con o sin esa coma final.

>>> t = () >>> t = t + (1,) >>> t (1,) >>> t = t + (2,) >>> t (1, 2) >>> t = t + (3, 4, 5) >>> t (1, 2, 3, 4, 5) >>> t = t + (6, 7, 8,) >>> t (1, 2, 3, 4, 5, 6, 7, 8)


"una vez que la información se agrega a la base de datos, ¿debo eliminar la tupla? Quiero decir que ya no necesito la tupla".

No.

Generalmente, no hay razón para borrar nada. Hay algunos casos especiales para eliminar, pero son muy, muy raros.

Simplemente defina un ámbito estrecho (es decir, una definición de función o una función de método en una clase) y los objetos se recogerán como basura al final del ámbito.

No te preocupes por borrar cualquier cosa.

[Nota. Trabajé con un chico que, además de intentar eliminar objetos, siempre estaba escribiendo métodos de "reinicio" para eliminarlos. Como si fuera a salvarlos y reutilizarlos. También un engreimiento tonto. Simplemente ignora los objetos que ya no estás usando. Si define sus funciones en bloques de código suficientemente pequeños, no tiene nada más en qué pensar.]