Skip to main content

How to convert a string to a dictionary in Python

How to convert a string to a dictionary in Python.

Here's a step-by-step tutorial on how to convert a string to a dictionary in Python:

Step 1: Define the string you want to convert

First, you need to have a string that you want to convert into a dictionary. Let's say we have the following string:

string = "{'key1': 'value1', 'key2': 'value2'}"

Step 2: Remove the outer quotes (if any)

If the string is enclosed in quotes (single or double), you need to remove them first to get the actual dictionary representation. You can achieve this using the strip() method:

string = string.strip("'")  # if using single quotes
# or
string = string.strip('"') # if using double quotes

Step 3: Convert the string to a dictionary

Now, you can convert the string into a dictionary using either the eval() function or the ast.literal_eval() function. Here are examples of both methods:

Using eval():

dictionary = eval(string)

Using ast.literal_eval():

import ast

dictionary = ast.literal_eval(string)

Note: The ast.literal_eval() method is safer to use than eval() as it only evaluates literal values and prevents the execution of arbitrary code.

Step 4: Access and use the dictionary

Once the string is successfully converted to a dictionary, you can access and use its elements using keys. Here's an example:

value = dictionary['key1']
print(value) # Output: value1

You can also modify or add elements to the dictionary like any other Python dictionary:

dictionary['key3'] = 'value3'

That's it! You have successfully converted a string to a dictionary in Python. Remember to handle any errors that may occur during the conversion process to ensure the stability of your code.