+ 2
Python SETS missunderstanding
# Hello guys, help me clarify the following problem. # We have the 2 following sets. first = {1, 2, 3, 4, 5, 6} second = {4, 5, 6, 7, 8, 9} # We want to print the difference of second and first set print(second - first) # The printed result will be {8, 9, 7} # My question for you, why is the printed result {8, 9, 7} and not {7, 8, 9} # Thank you
4 Antworten
+ 5
This is because a set is an unordered data structure. This makes sets faster than lists for example.
If you need the result ordered you can use:
print (sorted (second - first))
It will print a list with the result in crescent order.
+ 2
I understand you. I don't know how to answer to this.. maybe this is something about how the compiler handles the 0s and 1s? I don't know.
7: 00000111
8: 00001000
9: 00001001
+ 1
Thank you for your answer, but it s still unclear for me why the compiler chooses to solve it this way.
{7,8,9} would have been faster in my opinion as 7 is the first element from
the end of the set which is not in the first set
+ 1
Thanks for your answer, I will look deeper into this topic 👌🏻