Sounds like you are reusing the list object instead of creating a new list. This creates a dictionary with multiple entries, but only one value.
a = [1, 2, 3, 4]
b = {'A': a, 'B': a, 'C': a}
b['C'].append(5)
print(b)
Output:
{'A': [1, 2, 3, 4, 5], 'B': [1, 2, 3, 4, 5], 'C': [1, 2, 3, 4, 5]}
It is pretty obvious that all entries in dictionary "b" have the same list value "a". Appending 5 to b['C'] appends 5 to the list "a". Since all entries in the dictionary reference "a", it looks like we changed all the entries in the dictionary.
You should not be doing this:
Quote:However, when I clear the temporary list and populate the list with new information
Instead of reusing a temporary list you should create a new list for each entry. Like this.
a = [1, 2, 3, 4]
b = {}
for key in "ABC":
b[key] = [1, 2, 3, 4] # make a new list each time
b['C'].append(5)
print(b)
Output:
{'A': [1, 2, 3, 4], 'B': [1, 2, 3, 4], 'C': [1, 2, 3, 4, 5]}
Each list in the dictionary is now a different list object. It may contain the same values, but the list object, the container for those values is different. Changing the values in one entry doesn't do anything to the other entries, because changing a list doesn't change other lists.