Python - Group single item dictionaries into List values

Grouping single-item dictionaries into list values is useful for data aggregation and reformatting. Python provides several approaches: loops, list comprehension, map() function, and operator.itemgetter(). Each method extracts values from dictionaries containing only one key-value pair.

Using a Loop

A straightforward approach iterates through dictionaries and appends their values to a list.

Syntax

list_name.append(element)

The append() method adds an element to the end of a list, modifying the original list.

Example

We create an empty list and iterate through each dictionary. Using values() and indexing [0], we extract the single value from each dictionary ?

single_item_dicts = [{'fruit': 'apple'}, {'color': 'red'}, {'animal': 'lion'}]

result = []
for dictionary in single_item_dicts:
    result.append(list(dictionary.values())[0])

print(result)
['apple', 'red', 'lion']

Using List Comprehension

List comprehension provides a concise way to create lists in a single line.

Syntax

[expression for item in iterable if condition]

This creates a new list by applying an expression to each item in the iterable, optionally filtering with a condition.

Example

We apply the same value extraction logic within square brackets to generate the result list ?

single_item_dicts = [{'fruit': 'apple'}, {'color': 'red'}, {'animal': 'lion'}]

result = [list(dictionary.values())[0] for dictionary in single_item_dicts]

print(result)
['apple', 'red', 'lion']

Using the map() Function

The map() function applies a function to each element of an iterable.

Syntax

map(function, iterable)

This applies the function to each element and returns an iterator with the results.

Example

We use map() with a lambda function to extract values from each dictionary ?

single_item_dicts = [{'fruit': 'apple'}, {'color': 'red'}, {'animal': 'lion'}]

result = list(map(lambda dictionary: list(dictionary.values())[0], single_item_dicts))

print(result)
['apple', 'red', 'lion']

Using operator.itemgetter()

The operator.itemgetter() function creates a callable that retrieves specific items from objects.

Syntax

operator.itemgetter(*items)

This creates a callable object that retrieves specified items by index or key.

Example

We combine itemgetter(0) with map() to extract the first value from each dictionary ?

import operator

single_item_dicts = [{'fruit': 'apple'}, {'color': 'red'}, {'animal': 'lion'}]

result = list(map(operator.itemgetter(0), map(dict.values, single_item_dicts)))

print(result)
['apple', 'red', 'lion']

Comparison

Method Readability Performance Best For
Loop High Good Beginners, complex logic
List Comprehension High Best Simple transformations
map() + lambda Medium Good Functional programming style
operator.itemgetter Low Good Complex data extraction

Conclusion

List comprehension offers the best balance of readability and performance for grouping single-item dictionaries. Use loops for complex logic or when learning Python fundamentals. Choose map() for functional programming approaches.

Updated on: 2026-03-27T08:51:17+05:30

213 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements