Python: acceso a elementos en listas dentro del diccionario

Dado un diccionario con valores como una lista, la tarea es escribir un programa de python que pueda acceder a los elementos de valor de la lista dentro de este diccionario. 

Método 1 : acceder manualmente a los elementos de la lista

Este es un método sencillo, en el que la clave de la que se deben extraer los valores se pasa junto con el índice de un valor específico.

Sintaxis:

nombre_diccionario[clave][índice]

Ejemplo: indexación directa

Python3

#  Creating dictionary which contains lists
country = {
    "India": ["Delhi", "Maharastra", "Haryana", 
              "Uttar Pradesh", "Himachal Pradesh"],
    "Japan": ["Hokkaido", "Chubu", "Tohoku", "Shikoku"],
    "United States": ["New York", "Texas", "Indiana", 
                      "New Jersey", "Hawaii", "Alaska"]
}
  
print(country["India"])
print(country["India"][0])
print(country["India"][1])
print(country["United States"][3])
print(country['Japan'][2])

Producción :

[‘Delhi’, ‘Maharastra’, ‘Haryana’, ‘Uttar Pradesh’, ‘Himachal Pradesh’]

Delhi

Maharastra

New Jersey

Tohoku

Método 2 : Usando Loop 

La forma más fácil de lograr la tarea dada es iterar sobre el diccionario.

Ejemplo: Uso de bucle

Python3

#  Creating dictionary which contains lists
country = {
    "India": ["Delhi", "Maharastra", "Haryana", 
              "Uttar Pradesh", "Himachal Pradesh"],
    "Japan": ["Hokkaido", "Chubu", "Tohoku", "Shikoku"],
    "United States": ["New York", "Texas", "Indiana", 
                      "New Jersey", "Hawaii", "Alaska"]
}
  
for key, val in country.items():
    for i in val:
        print("{} : {}".format(key, i))
    print("--------------------")

Producción :

India: Delhi

India: Maharastra

India: Hariana

India: Uttar Pradesh

India: Himachal Pradesh

——————–

Japón: Hokkaidō

Japón: Chubu

Japón: Tohoku

Japón: Shikoku

——————–

Estados Unidos: Nueva York

Estados Unidos: Tejas

Estados Unidos: Indiana

Estados Unidos: Nueva Jersey

Estados Unidos: Hawái

Estados Unidos: Alaska

——————–

Método 3 : Acceder a una lista particular de la clave

Estos son más o menos los dos primeros métodos combinados, donde al usar la clave se itera la lista de valores.

Ejemplo: Acceso a una lista particular de la clave

Python3

#  Creating dictionary which contains lists
country = {
    "India": ["Delhi", "Maharastra", "Haryana",
              "Uttar Pradesh", "Himachal Pradesh"],
    "Japan": ["Hokkaido", "Chubu", "Tohoku", "Shikoku"],
    "United States": ["New York", "Texas", "Indiana",
                      "New Jersey", "Hawaii", "Alaska"]
}
  
for i in country['Japan']:
    print(i)
  
  
for i in country['India']:
    print(i)
  
for i in country['United States']:
    print(i)

Producción:

Hokkaidō

Chubu

Tohoku

Shikoku

Delhi

Maharastra

Hariana

Uttar Pradesh

Himachal Pradesh

Nueva York

Texas

Indiana

New Jersey

Hawai

Alaska

Método 4 : Usar el corte de lista

Esta es una versión modificada del primer método, aquí en lugar del índice para la lista de valores, pasamos el rango de corte.

Sintaxis:

nombre_diccionario[clave][índice_inicial: índice_final]

Ejemplo: usar el corte de lista

Python3

#  Creating dictionary which contains lists
country = {
    "India": ["Delhi", "Maharastra", "Haryana",
              "Uttar Pradesh", "Himachal Pradesh"],
    "Japan": ["Hokkaido", "Chubu", "Tohoku", "Shikoku"],
    "United States": ["New York", "Texas", "Indiana",
                      "New Jersey", "Hawaii", "Alaska"]
}
  
# extract the first 3 cities of India
print(country["India"][:3])
  
# extract last 2 cities from Japan
print(country["Japan"][-2:])
  
# extract all cities except last 3 cities from india
print(country["India"][:-3])
  
# extract 2th to 5th cities from us
print(country["United States"][1:5])

Producción :

[‘Delhi’, ‘Maharastra’, ‘Haryana’]

[‘Tohoku’, ‘Shikoku’]

[‘Delhi’, ‘Maharastra’]

[‘Texas’, ‘Indiana’, ‘Nueva Jersey’, ‘Hawái’]

Publicación traducida automáticamente

Artículo escrito por dev247kumar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *