So I am very new to python and I cant for the life of me figure out why these two statements evaluate differently,
[3*x for x in range(1,11) if x > 5]
[18, 21, 24, 27, 30]
{3*x for x in range(1,11) if x > 5}
set([24, 18, 27, 21, 30])
The top one makes perfect sense to me but why does the second print things in such a weird order? I know that hard brackets '[' are for lists and '{' for dictionaries.