Jesse Pet
Jesse Pet

Reputation: 1879

Creating a dictionary from list of lists

I have a list of lists in the following format:

[['a'],['1'],['2'],['3'], ['b'],['4'],['5'],['6']]

My desired output is:

[['a', '1'], ['a', '2'], ['a','3'],['b', '4'],['b', '5'],['b', '6']]

or even better would be:

{'a':['1','2','3'], 'b':['4','5','6']}

Essentially, the "number values" are never the same size (think that a could include 1 2 and 3, and b could include 4 5 6 7 and 8, etc)

What would be the easiest way of doing this? Using regex?

Thanks

Upvotes: 0

Views: 55

Answers (1)

Farhan.K
Farhan.K

Reputation: 3485

You can use a for loop and check if the element is a digit or not:

d = {}
for i in lst:

    if not i[0].isdigit():  # Check if element is a digit. If not, add a key with the current value of i[0]
        d[i[0]] = []
        current = i[0]

    else:
        d[current].append(i[0])

Output:

>>> d
{'a': ['1', '2', '3'], 'b': ['4', '5', '6']}

This is assuming everything in the list is a string

Upvotes: 2

Related Questions