Qué son y como usar los diccionarios en python

Iniciado por 987123564, 13 Agosto 2016, 23:35 PM

0 Miembros y 1 Visitante están viendo este tema.

987123564

Hola, alguien me puede decir qué son, para que sirven y como se usan los diccionarios en python? Gracias y un saludo.

engel lex

en otros lenguajes los llaman array asociativos... entre otras funciones el principal es representar un array con "nombres" en lugar de numeros, podrías hacer

Código (python) [Seleccionar]
variable["color"] = "azul"

mas info (buscando "diccionarios python" en google)
http://librosweb.es/libro/algoritmos_python/capitulo_9/utilizando_diccionarios_en_python.html
http://es.diveintopython.net/odbchelper_dict.html
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

tincopasan

@987123564 está bien que quieras aprender, pero no seas vago, como ya te dijeron hay toneladas de tutoriales en la red.
un dicionario es un objeto que se declara entre corchetes y que tiene dos valores la llave(clave) y el valor(key:value) o también conocido como elemento y definición, separados por dos puntos(:)
por ejemplo:
Código (python) [Seleccionar]
midic={"house":"casa","one":1}
que como verás puede tener cadenas,enteros,listas,tuplas. Claro que puede contener muchos más elementos separados por comas (,). Después hay métodos para diccionarios.

@engel lex ese código no tengo idea que es, pero python seguro que no

Tatoluckyfox

Cita de: tincopasan en 14 Agosto 2016, 00:48 AM
@engel lex ese código no tengo idea que es, pero python seguro que no

@tincopasan, lo que dice @engel lex es correcto.

Ejemplo:

Código (python) [Seleccionar]

>>> dic = {"a": "a", "b": "b"} #Se define el diccionario
>>> dic["a"] = "c" #Se llama a la variable de la clave "a" con el string "a" del diccionario dic para ser sustituida por "c"
>>> dic["a"] #Se imprime
'c'

tincopasan

#4
Ajá, si vos crees que con
Código (python) [Seleccionar]
dic["a"] = "c"
inicializas y creas el diccionario ["a"] allá vos.


podrías poner todo lo que se puede hacer con un dic (.get,.pop,.keys,etc) pero primero hay que declararlo,ni sé, si quien pregunto sabe como se declara y voy a empezar por otra cosa. Para correr se empieza por el primer paso y en tu ejemplo tuviste que declarar primero el dicc,  engel lex no crea un dic en python, ya lo tiene declarado(se supone)

Edito:
        de paso @987123564 te muestro a lo que me refería a un menú con diccionarios y de paso en una clase que se usan a full.
Código (python) [Seleccionar]

#-*- coding: utf-8 -*-
import sys,os
class Capitulos:
   def __init__(self):
       self.elecciones= {
       "1":self.completa,
       "2":self.sueltos,
       "3":self.salir
        }
       
   def mostrar_menu(self):
       print("""
       [1] Temporada completa
       [2] Capítulos Sueltos
       [3] Salir
       """)
       
   def ejecutar(self):
       while True:
           self.mostrar_menu()
           eleccion= input("elige una opción: ")
           accion = self.elecciones.get(eleccion)
           if accion:
               accion()
           else:
               print("{} no es una elección válida".format(eleccion))
           
   def completa(self):
       os.system("cls")
       print("Acá va todo lo de completa")
   
   def sueltos(self):
       os.system("cls")
       print("Acá va todo lo de sueltos")
   
   def salir(self):
       os.system("cls")
       msg=" Programa terminado "
       print(msg.center(28,"*"))
       os.system("pause")
       sys.exit(0)
       
inicio=Capitulos()
inicio.ejecutar()

engel lex

es verdad, no la declaré, solo lo use xD pero para eso luego le deje el link para que estudiara como es todo el asunto, allí se explican todos los detalles   
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

987123564

Muchas gracias a todos por la información muy muy útil.
Ah y @tincopasan no soy un vago, yo sé que hay un montón de tutoriales y páginas web que lo explican y yo creo que en los foros se explica mejor y ponen más ejemplos  :¬¬
@engel lex ya vi los enlaces que pusiste, muchísimas gracias  ;-).
Y gracias a ti también @Tatoluckyfox.

Eleкtro

#7
Cita de: 987123564 en 14 Agosto 2016, 21:15 PMsé que hay un montón de tutoriales y páginas web que lo explican y yo creo que en los foros se explica mejor y ponen más ejemplos  :¬¬

Error. No hay que mirar páginas aleatorias de tutoriales ni tampoco foros buscando ejemplos, puedes hacerlo pero eso es secundario, si empiezas a estudiar así lo harás mal por que no entenderás lo que es nada en realidad. Lo primero de todo que deberías leer es la documentación oficial de Python y a poder ser combinarlo con la explicación que se de en la Wikpedia, así siempre vas a obtener información adicional, relevante, y curiosa (y si te quedan dudas entonces ya puedes leer tutoriales o preguntar en foros), es una muy buena forma de aprendizaje para empezar a conocer y dominar a nivel básico un lenguaje, pero es muy, muy tediosa y aburrida ...aunque no pasa nada por que supuestamente no eres vago.

En fin, como ya he dicho, deberias leer la documentación oficial de Python, por que ahí es donde te van a explicar con todo lujo de detalles el concepto o significado y la utilización de cualquier miembro del lenguaje, además también hay ejemplos claros y concisos:





La peculiaridad de un diccionario es poder declarar un array que se pueda indizar mediante llaves (una llave puede ser un string), sin orden de elementos, y sin repetición de indizadores, es decir: sin llaves duplicadas.

Cabe mencionar que no es un invento solo disponible para Python, no, el type Dictionary está implementado en muchos otros lenguajes, por ejemplo es muy habitual usarlo en los lenguajes soportados por .NET (VB.NET, C#, VC++, etc.) para el desarrollo de APIs, y supongo que en el resto de lenguajes también (me refiero aparte de Python) por las peculiaridades que ya mencioné de este type.

Saludos!








987123564

@Elektro gracias por tu consejo pero yo encuentro los documentos oficiales de python tanto lioso como aburrido, pero gracias ;), un saludo!

engel lex

Cita de: 987123564 en 14 Agosto 2016, 22:36 PM
@Elektro gracias por tu consejo pero yo encuentro los documentos oficiales de python tanto lioso como aburrido, pero gracias ;), un saludo!

entonces vas mal xD ese es el camino... y preguntar en el foro en busca de ejemplos, estando internet lleno de ellos, a menos que sea algo muy técnico y puntual, es mas la incomodidad que generas que el contenido util que recibes
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.