I’ve reviewed many questions in StackOverflow that may be related to my question Q1, Q2, Q3, Q4 None of them are related to my question. Apart from these, I examined almost 20 questions here.
I created a sample code block to explain my problem simply. My aim is to add data to a dictionary in for loop.
When I run the code block below, the output is as follows.
dictionary = defaultdict(int) for uid in range(10): for i in range(5): distance = 2*i dictionary[uid] = distance
My aim is to keep the key value in each loop and add on it.
Expected Output:
{0: {0,2,4,6,8,}, 1:{0,2,4,6,8,}, 2:{0,2,4,6,8} , ...
My Solution
from collections import defaultdict dictionary = defaultdict(int) for uid in range(10): for i in range(5): distance = 2*i dictionary[uid].append(distance)
My solution approach is also not working there is a problem
Advertisement
Answer
Try this:
from collections import defaultdict dictionary = defaultdict(set) for uid in range(10): for i in range(5): distance = 2*i dictionary[uid].add(distance)
Output (dictionary
):
> defaultdict(set, {0: {0, 2, 4, 6, 8}, 1: {0, 2, 4, 6, 8}, 2: {0, 2, 4, 6, 8}, 3: {0, 2, 4, 6, 8}, 4: {0, 2, 4, 6, 8}, 5: {0, 2, 4, 6, 8}, 6: {0, 2, 4, 6, 8}, 7: {0, 2, 4, 6, 8}, 8: {0, 2, 4, 6, 8}, 9: {0, 2, 4, 6, 8}})