viernes, 27 de febrero de 2009

TUPLAS EN PYTHON

Todo lo que vimos en la seccion de LISTAS EN PYTHON se aplica a las tuplas la unica diferencia que en vez de usa [ ] usamos ( ) bueno en realidad el operador que define la tupla solo es la , (coma)
pero por claridad utilizamos el parentisis veamos:

>>>t= (1,2,"hola",True)
>>>print(t)
(1, 2, 'hola', True)

igual seria tupla si la definimos sin el parentisis:


>>>t= 1,2,"hola",True
>>>print(t)
(1, 2, 'hola', True)

podemos verificar que es una tupla

>>>type(t)
class 'tuple'

listo creo que entendi voy a definir una tupla de un solo elemento para demostar que esto es refacil veamos:

>>> tupla = 1

mi tupla de un elemento ;) veamos a ver si es verdad:

>>>type(tupla)
class 'int'

Como ven tupla=1 es simplemente una asignacion de 1 a la variable tupla si hubieramos querido que fuera una tupla tan solo habia que hacer:

>>> tupla = 1 ,
>>>type(tupla)
class 'tuple'
>>>print(tupla)
(1,)

Bueno aqui tambien podemos usar el operador [ ] para referirnos a un elemento de la tupla digamos que aun tenemos esta tupla definida (1, 2, 'hola', True):

>>>tupla[0]
1

ahora tratemos de modificar el primer elemento de la tupla por cualquier otro valor a ver que pasa:

>>>tupla[0]=12

Traceback (most recent call last):
File "", line 1, in
TypeError: 'tuple' object does not support item assignment


genero un error, bueno esto se debe a que las tuplas son inmutables( esto quiere decir que una vez creada una tupla no se puede modificar) en cambio como vimos en el tema de las lista si se pueden modificar cuando sea, y ademas las lista cuenta con una serie de funciones utiles para su tratamiento, pero las tuplas tampoco posee esa serie de funciones :( tonoces para que carajo utilizo las tuplas para eso solo trabajo con lista, buena pregunta, solo te digo que la unica ventaja de las tuplas es que son mas ligeras que si vas a crear una lista que no va ser modificada osea de tamaño fijo mejor optas por una tuplas y asi ahorras memoria.


16 comentarios:

  1. gracias por la info.. saludos!!

    ResponderEliminar
  2. ala kOmO ze hazeen para uzar tuplas uzandO class

    ResponderEliminar
  3. ala me pOdriian dar un ejemplo kOmO kreeear una calkuradOra de baze n
    ala grax antemanO

    ResponderEliminar
    Respuestas
    1. Espero a la fecha ya no escribas de esa manera, por que así, denigras a quienes programamos.

      Eliminar
    2. Cuanto anormal que se cree gracioso hay suelto por ahí

      Eliminar
    3. Katiitu = ("retarder","monger", "over900")

      Eliminar
  4. hola, alguien me podria explicar que hago mal para sumar 2 numeros complejos.

    #Declaracion de la tupla
    TC={'re':0.0,'im':0.0}
    #declaracion de las variables
    nca=ncb=res=TC
    #iniciacion de las variables
    nca['re']=float(input('nca.real: '))
    nca['im']=float(input('nca.imag: '))
    ncb['re']=float(input('ncb.real: '))
    ncb['im']=float(input('ncb.imag: '))

    res['re']=(nca['re'])+(ncb['re'])
    res['im']=(nca['im'])+(ncb['im'])
    print(res['re'])
    print(res['re'],'+',res['im'],'i')
    el programa hace lo que le da la gana
    Muchas gracias

    ResponderEliminar
  5. me pueden decir como crear un sudoku en python?

    ResponderEliminar
  6. vaya panda de anormalrs

    ResponderEliminar
  7. nc = {'re': 0.0, 'im': 0.0}

    n1 = {'re': 0.0, 'im': 0.0}
    n2 = {'re': 0.0, 'im': 0.0}

    n1['re'] = float(input('n1.real: '))
    n1['im'] = float(input('n1.imag: '))
    n2['re'] = float(input('n2.real: '))
    n2['im'] = float(input('n1.imag: '))

    print (((n1['re'])+(n2['re'])), '+', ((n1['im'])+(n2['im'])), 'i')


    ResponderEliminar
  8. Hola. Tengo un problema en python: como podria hacer algo asi en python, que si yo escribo 83 me devuelva "ochenta y tres" HELP!

    ResponderEliminar
    Respuestas
    1. tenes que hacer una funcion que te evalue si el numero pertenece a las decenas o unidades y que convierta a partir de eso a letras

      Eliminar
  9. Excelente! Muy bien redactado: claro y conciso con sus ejemplos. Un placer encontrar un documento así :-)

    ResponderEliminar