Basically the same way you would flatten a nested list, you just have to do the extra work for iterating the dict by key/value, creating new keys for your new dictionary and creating the dictionary at final step.
import collections def flatten(d, parent_key='', sep='_'): items = [] for k, v in d.items(): new_key = parent_key + sep + k if parent_key else k if isinstance(v, collections.MutableMapping): items.extend(flatten(v, new_key, sep=sep).items()) else: items.append((new_key, v)) return dict(items) >>> flatten({'a': 1, 'c': {'a': 2, 'b': {'x': 5, 'y' : 10}}, 'd': [1, 2, 3]}) {'a': 1, 'c_a': 2, 'c_b_x': 5, 'd': [1, 2, 3], 'c_b_y': 10}
Related Posts:
- Iterating over dictionaries using ‘for’ loops
- How do I sort a dictionary by value?
- How do I sort a dictionary by value?
- How do I sort a dictionary by value?
- Check if a given key already exists in a dictionary
- How does collections.defaultdict work?
- Is a Python dictionary an example of a hash table?
- Converting dictionary to JSON
- How do I merge two dictionaries in a single expression (taking union of dictionaries)?
- Python list of dictionaries search
- Updating a dictionary in python
- How to avoid “RuntimeError: dictionary changed size during iteration” error?
- unhashable type: ‘dict’ Type Error [duplicate]
- How to copy a dictionary and only edit the copy
- How to avoid “RuntimeError: dictionary changed size during iteration” error?
- How can I remove a key from a Python dictionary?
- How to solve dictionary changed size during iteration error?
- DataFrame constructor not properly called
- TypeError: ‘type’ object is not subscriptable when indexing in to a dictionary
- TypeError: ‘dict’ object is not callable
- Getting key with maximum value in dictionary?
- Error: ” ‘dict’ object has no attribute ‘iteritems’ “
- Getting key with maximum value in dictionary?
- Error: ” ‘dict’ object has no attribute ‘iteritems’ “
- How can I get dictionary key as variable directly in Python (not by searching from value)?
- Are dictionaries ordered in Python 3.6+?
- How can I remove a key from a Python dictionary?
- append multiple values for one key in a dictionary [duplicate]
- Convert a python dict to a string and back
- Delete an element from a dictionary
- How to add multiple values per key in python dictionary
- Get key by value in dictionary
- How to add multiple values to a dictionary key in python?
- Determine the type of an object?
- enumerate() for dictionary in python
- Reverse / invert a dictionary mapping
- Creating 2D dictionary in Python
- How to print a dictionary’s key?
- Converting Dictionary to List?
- How to pretty print nested dictionaries?
- Convert a Pandas DataFrame to a dictionary
- How to index into a dictionary?
- In Python, when to use a Dictionary, List or Set?
- Add a new item to a dictionary in Python
- How can I add new keys to a dictionary?
- How can I get list of values from dict?
- TypeError: string indices must be integers, not str // working with dict
- How do I format a string using a dictionary in python-3.x?
- Creating a dictionary from a csv file?
- Map to List error: Series object not callable
- How to return dictionary keys as a list in Python?
- How can I create an array/list of dictionaries in python?
- Comparing two dictionaries and checking how many (key, value) pairs are equal
- How to save a dictionary to a file?
- Mapping over values in a python dictionary
- TypeError: ‘dict_keys’ object does not support indexing
- How to convert an XML string to a dictionary?
- How do I print the key-value pairs of a dictionary in python
- How do I print the key-value pairs of a dictionary in python
- How do I make a dictionary with multiple keys to one value?
- Python: How to check if keys exists and retrieve value from Dictionary in descending priority
- Appending values to dictionary in Python
- Python dictionary from an object’s fields
- Writing a dictionary to a csv file with one line for every ‘key: value’
- How to convert a file into a dictionary?
- Append a dictionary to a dictionary
- Python Add to dictionary loop
- AttributeError: ‘str’ object has no attribute ‘items’
- JSON object must be str, bytes or bytearray, not dict
- convert csv file to list of dictionaries
- Declaring a multi dimensional dictionary in python
- how to concatenate two dictionaries to create a new one in Python?
- python-How to solve KeyError: 2?
- How to search through dictionaries?
- Change the name of a key in dictionary
- What is an easy way to implement fprintf in python?
- How can I extract all values from a dictionary in Python?
- Create a list with initial capacity in Python
- Accessing dict_keys element by index in Python3
- Iterating over dictionary items(), values(), keys() in Python 3
- python dictionary error AttributeError: ‘list’ object has no attribute ‘keys’
- Convert list of dictionaries to a pandas DataFrame
- How to print both strings in a dictionary in Python
- Using Python 3 in virtualenv
- “Series objects are mutable and cannot be hashed” error
- Putting a simple if-then-else statement on one line [duplicate]
- matplotlib savefig() plots different from show()
- What is the maximum recursion depth in Python, and how to increase it?
- subprocess.check_output return code
- Python: slicing a multi-dimensional array
- Python: pandas merge multiple dataframes
- Shuffle an array with python, randomize array item order with python
- How to count the NaN values in a column in pandas DataFrame
- Import Error: No module named numpy Anaconda
- Writing string to a file on a new line every time
- Creating lowpass filter in SciPy – understanding methods and units
- Python 2: AttributeError: ‘list’ object has no attribute ‘strip’
- When I use matplotlib in jupyter notebook,it always raise ” matplotlib is currently using a non-GUI backend” error?
- How to fix ‘RuntimeWarning: divide by zero encountered in double_scalars’
- How do operator.itemgetter() and sort() work?