Found the problem with typeof
One was an integer, and one was a float.
print(1.0 in [1])# This is true
print(1.0 in {1:0})# This is false
This was very confusing because I knew it wasn't a string because I could do math with it. The dictionary is strict with the typing and the list isn't. That was the source of the confusion.
Should it be raised as an issue, or is this intended behaviour?