How to sort my dictionary using this condition in python.
I have a Nested Dictionary which is describe below.
my_dict={
"Moli": {"Price": 226, "Quantity": 300, "PreOrder": "Yes", "PostOrder": "No", "Dif": 36},
"Anna": {"Price": 530, "Quantity": 154, "PreOrder": "No", "PostOrder": "Yes", "Dif": 26},
"Bob": {"Price": 250, "Quantity": 100, "PreOrder": "No", "PostOrder": "No", "Dif": 46},
"Annie": {"Price": 656, "Quantity": 96, "PreOrder": "Yes", "PostOrder": "No", "Dif": 55},
"Calley": {"Price": 546, "Quantity": 76, "PreOrder": "No", "PostOrder": "Yes", "Dif": 35}
}
I want to apply a condition on this nested dictionary. The condition is_
Sort the items where ("PreOrder"== "Yes" or "PostOrder"== "Yes") and show those item in descending order using "Quantity" value
Something like this.
my_dict2 = {("PreOrder"== "Yes" or "PostOrder"== "Yes") i[0]: i[1] for i in sorted(my_dict.items(), key=lambda x: x[1]["Quantity"], reverse=True)}
I know it's a wrong code.
expected output_
my_dict2={
"Moli": {"Price": 226, "Quantity": 300, "PreOrder": "Yes", "PostOrder": "No", "Dif": 36},
"Anna": {"Price": 530, "Quantity": 154, "PreOrder": "No", "PostOrder": "Yes", "Dif": 26},
"Annie": {"Price": 656, "Quantity": 96, "PreOrder": "Yes", "PostOrder": "No", "Dif": 55},
"Calley": {"Price": 546, "Quantity": 76, "PreOrder": "No", "PostOrder": "Yes", "Dif": 35}
}
I would be very grateful if you could help me