i started learning Python recently and i am facing difficulty converting the below piece of code into a list comprehension:
list = [] #An empty List
for key,value in defaultDict.items():#iterate through the default dict
for i in defaultDict[key]:#iterate through the list in the defaultDict
if i not in list:#If the item in the list is not present in the main list
list.append(i)#append it
Is it possible for me to even do it??Any help with this is much appreciated.
Very straightforward: use a nested list comprehension to get all i
s and a set to remove duplicates.
list(set([item for __, value in defaultDict.items() for item in value]))
Let's break it down:
[item for key,value in defaultDict.items() for item in value]
is a nested list comprehension.set(...)
will remove all duplicates - the equivalent of if i not in list: list.append(i)
logic you havelist(set(...))
will convert the set back to a list for you.