I have some data, which look like this:
tuplelist = [
(datetime.date(2020, 4, 20), 4.23, 'EUR'),
(datetime.date(2020, 4, 20), 3.76, 'USD'),
(datetime.date(2020, 4, 20), 4.21, 'EUR'),
(datetime.date(2020, 4, 20), 5.20, 'GPB'),
(datetime.date(2020, 4, 20), 3.77, 'USD'),
(datetime.date(2020, 4, 20), 4.27, 'EUR'),
(datetime.date(2020, 4, 20), 3.79, 'USD'),
(datetime.date(2020, 4, 20), 4.30, 'EUR'),
(datetime.date(2020, 4, 20), 5.14, 'GPB'),
(datetime.date(2020, 4, 20), 3.77, 'USD'),
(datetime.date(2020, 4, 25), 4.23, 'EUR'),
(datetime.date(2020, 4, 25), 3.76, 'USD'),
(datetime.date(2020, 4, 25), 4.21, 'EUR'),
(datetime.date(2020, 4, 25), 5.20, 'GPB'),
(datetime.date(2020, 4, 25), 3.77, 'USD'),
(datetime.date(2020, 4, 27), 4.27, 'EUR'),
(datetime.date(2020, 4, 27), 3.79, 'USD'),
(datetime.date(2020, 4, 27), 4.30, 'EUR'),
(datetime.date(2020, 4, 27), 5.14, 'GPB'),
(datetime.date(2020, 4, 28), 3.77, 'USD'),
(datetime.date(2020, 4, 28), 4.23, 'EUR'),
(datetime.date(2020, 5, 2), 3.76, 'USD'),
(datetime.date(2020, 5, 2), 4.21, 'EUR'),
(datetime.date(2020, 5, 2), 5.20, 'GPB'),
(datetime.date(2020, 5, 2), 3.77, 'USD'),
(datetime.date(2020, 5, 2), 4.27, 'EUR'),
(datetime.date(2020, 5, 5), 3.79, 'USD'),
(datetime.date(2020, 5, 5), 4.30, 'EUR'),
(datetime.date(2020, 5, 5), 5.14, 'GPB'),
(datetime.date(2020, 5, 5), 3.77, 'USD'),
(datetime.date(2020, 4, 20), 4.23, 'EUR'),
(datetime.date(2020, 4, 20), 3.76, 'USD'),
(datetime.date(2020, 4, 20), 4.21, 'EUR'),
(datetime.date(2020, 4, 20), 5.20, 'GPB'),
(datetime.date(2020, 4, 20), 3.77, 'USD'),
(datetime.date(2020, 4, 20), 4.27, 'EUR'),
(datetime.date(2020, 4, 20), 3.79, 'USD'),
(datetime.date(2020, 4, 20), 4.30, 'EUR'),
(datetime.date(2020, 4, 20), 5.14, 'GPB'),
(datetime.date(2020, 4, 20), 3.77, 'USD'),
(datetime.date(2020, 4, 25), 4.23, 'EUR'),
(datetime.date(2020, 4, 25), 3.76, 'USD'),
(datetime.date(2020, 4, 25), 4.21, 'EUR'),
(datetime.date(2020, 4, 25), 5.20, 'GPB'),
(datetime.date(2020, 4, 25), 3.77, 'USD'),
(datetime.date(2020, 4, 27), 4.27, 'EUR'),
(datetime.date(2020, 4, 27), 3.79, 'USD'),
(datetime.date(2020, 4, 27), 4.30, 'EUR'),
(datetime.date(2020, 4, 27), 5.14, 'GPB'),
(datetime.date(2020, 4, 28), 3.77, 'USD'),
(datetime.date(2020, 4, 28), 4.23, 'EUR'),
(datetime.date(2020, 5, 2), 3.76, 'USD'),
(datetime.date(2020, 5, 2), 4.21, 'EUR'),
(datetime.date(2020, 5, 2), 5.20, 'GPB'),
(datetime.date(2020, 5, 2), 3.77, 'USD'),
(datetime.date(2020, 5, 2), 4.27, 'EUR'),
(datetime.date(2020, 5, 5), 3.79, 'USD'),
(datetime.date(2020, 5, 5), 4.30, 'EUR'),
(datetime.date(2020, 5, 5), 5.14, 'GPB'),
(datetime.date(2020, 5, 5), 3.77, 'USD')
]
I managed to group it by date an currency and sum the values of each curriency. Now, I'd like to sort the currency values in descending manner. However I got some problems with two values (the same problem is during sorting in ascending way, but then this values are at the end):

Do you have any clue if my sorting loop is correct? Moreover, it is possible not to change the dictionary to list, while sorting?
Here is my code:
# grouping elements by date and currency
result = {}
for key, values in groupby(tuplelist, lambda x: x[0]):
for _, v1, v2 in values:
result.setdefault(key, {}).setdefault(v2, []).append(v1)
# summing value of each currency of each day
result2 = {}
for key, values in result.items():
for k, val in values.items():
total = sum(val)
result2.setdefault(key, {}).setdefault(k, "%.2f" % total)
print("-----------------------BEFORE SORTING------------------------------------")
for items in result2.items():
print(items)
# sorting the values of currencies in descending order
sorted_dict = {}
for key, values in result2.items():
sorted_values = sorted(values.items(), key=lambda item: item[1], reverse=True)
sorted_dict[key] = sorted_values
print("-----------------------SORTED VALUES------------------------------------")
for items in sorted_dict.items():
print(items)