HomeData scienceThe Proper Method to Entry Dictionaries in Python

The Proper Method to Entry Dictionaries in Python

The Right Way to Access Dictionaries in Python
Picture by Creator

Suta [CPS] IN
Redmagic WW

When working with information, particularly if utilizing our beloved Python language, the dictionary stands out as a elementary information construction, able to uncover its information to those that know how you can unlock it. 

A dictionary in Python is a set that’s each unordered and mutable, designed to retailer information values like a map. Not like different Information Varieties that maintain solely single values as components, Dictionary holds pairs of keys and values separated by colons, a “:” factor. 

This Key-value pairs construction offers a technique to retailer information in order that it may be effectively retrieved by key slightly than place.

Nonetheless, most occasions an undesirable KeyError when in search of a key can break our entire execution. For this reason this information makes an attempt to shed some gentle and clarify some efficient methods to entry dictionaries avoiding the break of our execution. 



Think about a dictionary as a dynamic storage system, the place every merchandise you want to retailer has a novel identifier or ‘key’ that leads you on to it. 


The Right Way to Access Dictionaries in PythonThe Right Way to Access Dictionaries in Python
Picture by Creator


In Python, dictionaries are declared with curly brackets {}, with keys and their corresponding values separated by colons “:”, and every pair separated by commas. 

This is a easy illustration:

# Making a easy dictionary with keys and values
salaries = {
   'Information Scientist': 100000,
   'Information Analyst': 80000,
   'Information Engineer': 120000}



Making a dictionary is just the start. The true utility of dictionaries is realized when retrieving and manipulating this saved information.



A standard method to accessing a worth in a dictionary is by utilizing the important thing identify inside sq. brackets:

# Accessing a worth utilizing the important thing
print(salaries['Data Scientist'])  # Outputs: 100000

print(salaries['Professor'])  # This can increase a KeyError, as 'Professor' key would not exist


This technique appears simple till you encounter a key that does not exist throughout the dictionary, resulting in a KeyError. 

It is a frequent situation that may complicate bigger initiatives.



To keep away from KeyError, you may think about using if statements or try-except blocks to deal with lacking keys. 

These strategies, whereas useful, can develop into cumbersome with extra complicated code. Thankfully, Python presents extra elegant options, primarily two: 

  • the get() technique
  • the setdefault() technique


Embracing the get() Technique


The get() technique is a extra environment friendly technique to retrieve values from a dictionary. It requires the important thing you are looking for and permits an optionally available second parameter for a default worth if the secret is not discovered.

# Utilizing get() to securely entry a worth
wage = salaries.get('Information Scientist', 'Key not discovered')
print(wage)  # Outputs: 30

# Utilizing get() with a default worth if the important thing would not exist
wage = salaries.get('Professor', 'Key not discovered')
print(wage)  # Outputs: 30


That is probably the most simple technique to entry a dictionary whereas guaranteeing there received’t be a KeyError. Having a default various is a protected approach to ensure the whole lot is so as. 

Nonetheless, this technique doesn’t alter our dictionary, and typically, we require the dictionary to retailer this new parameter. 

This leads us to the second method. 


Leveraging the setdefault() Technique


For situations the place you not solely need to retrieve a worth safely but in addition replace the dictionary with new keys, setdefault() turns into invaluable. 

This technique checks for the existence of a key and if absent, provides the important thing with the desired default worth, successfully modifying the unique dictionary.

# Utilizing setdefault() to get a worth and set it if not current
wage = salaries.setdefault('Professor', 70000)
print(wage)  # Outputs: 70000 since 'Professor' was not within the dictionary

# Analyzing the dictionary after utilizing setdefault()
print(salaries) # Outputs: {'Information Scientist': 100000, 'Information Analyst': 80000, 'Information Engineer': 120000, 'Professor': 70000}


Analyzing playersHeight after utilizing setdefault() will present the newly added keys with their default values, altering the unique dictionary construction.



The selection between get() and setdefault() is determined by your particular wants. Use get() once you merely must retrieve information with out altering the unique dictionary. Go for setdefault() when your process requires including new entries to the dictionary.

Breaking previous habits might require some effort, however the transition to utilizing get() and setdefault() can considerably improve the robustness and readability of your Python code. 

As you combine these strategies into your programming apply, you may shortly recognize their effectivity and the seamless approach they deal with potential errors, making them indispensable instruments in your Python arsenal.

The pivotal function of get() and setdefault() emerge as nice methods to deal with such codecs and entry our dictionaries. 

I hope this information was helpful, and subsequent time you’re coping with dictionaries, you are able to do it in  extra successfully. 

You possibly can go examine the corresponding Jupyter Pocket book within the following GitHub repo.

Josep Ferrer is an analytics engineer from Barcelona. He graduated in physics engineering and is at present working within the Information Science discipline utilized to human mobility. He’s a part-time content material creator centered on information science and expertise. You possibly can contact him on LinkedIn, Twitter or Medium.

Supply hyperlink

latest articles

ChicMe WW
Head Up For Tails [CPS] IN

explore more