Python - Nested Records List from Lists

The problem at hand is that we have to create an algorithm for getting nested records lists from given multiple lists with the help of Python. Sometimes we need to combine given lists for a reason in real life applications, so this problem will be helpful to solve those scenarios.

Understanding the Logic

In this problem we will be given two or more lists and we have to combine them to form nested records lists by applying different approaches. We will explore three methods: using the zip() function, combining loops with zip(), and using userdefined functions.

Method 1: Using zip() Function

The zip() function combines lists with respect to the indexing of list items, creating tuples of corresponding elements ?

# Initialize the lists
names = ["John", "Riya", "Amit"]
dob = ["11-09-1998", "17-02-1993", "02-05-2003"]
birth_place = ["Delhi", "Mumbai", "Pune"]

# Combine lists using zip
combined_lists = zip(names, dob, birth_place)

print("The combined list for all the lists:")
print(list(combined_lists))
The combined list for all the lists:
[('John', '11-09-1998', 'Delhi'), ('Riya', '17-02-1993', 'Mumbai'), ('Amit', '02-05-2003', 'Pune')]

Method 2: Creating Dictionary with Nested Records

This approach uses dictionary comprehension with zip() to create structured nested records ?

# Initialize the lists
categories = ['Tea', 'Coffee']
items = [['Black', 'Green', 'White'], ['Espresso', 'Latte', 'Cappuccino']]

# Create nested dictionary structure
nested_records = {category: [{'id': item} for item in item_list]
                 for category, item_list in zip(categories, items)}

print("The first input list:", categories)
print("The second input list:", items)
print("The constructed nested records:", nested_records)
The first input list: ['Tea', 'Coffee']
The second input list: [['Black', 'Green', 'White'], ['Espresso', 'Latte', 'Cappuccino']]
The constructed nested records: {'Tea': [{'id': 'Black'}, {'id': 'Green'}, {'id': 'White'}], 'Coffee': [{'id': 'Espresso'}, {'id': 'Latte'}, {'id': 'Cappuccino'}]}

Method 3: Using Custom Function

A userdefined function that accepts multiple lists using the asterisk operator and creates a nested structure ?

# Define function to generate nested list
def generate_nested_list(*lists):
    combined_list = []
    for lst in lists:
        combined_list.append(lst)
    return combined_list

# Initialize lists to generate nested list
list1 = ['I', 'am', 'using']
list2 = ['Tutorials', 'point', 'to']
list3 = ['learn', 'Python', 'Programming']

nested_list = generate_nested_list(list1, list2, list3)
print("The created nested list is as follows:")
print(nested_list)
The created nested list is as follows:
[['I', 'am', 'using'], ['Tutorials', 'point', 'to'], ['learn', 'Python', 'Programming']]

Comparison of Methods

Method Output Type Best For
zip() List of tuples Combining elements by index
Dictionary comprehension Structured dictionary Keyvalue nested records
Custom function List of lists Simple list grouping

Time Complexity

The time complexity for creating nested records lists from given lists is O(n), where n is the total number of items present in all the lists. All approaches perform simple operations that require linear time to complete the task.

Conclusion

We have successfully solved the problem of creating nested records lists using various Python approaches. The zip() function is ideal for combining elements by index, while dictionary comprehension creates structured records, and custom functions provide flexibility for simple list grouping.

Updated on: 2026-03-27T15:33:59+05:30

240 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements