If balance shows 0, then the corresponding address to that private key is not the address you sent your funds to.
Once you import your private key, go to the list of receiving addresses. Compare that address to the address in the blockchain explorer that holds your funds. If they don't match up, then you have the wrong private key.
Well, if your tokens had only disappeared I would have suggested contacting MetaMask support because this isn't something new, but in your case, they were transferred to another wallet.
You have to connect your metamask wallet in order to swap these little coins for one another, up the chain back to stablecoins, and then back to another form of storage. I feel like perhaps my credentials were compromised around here.
I doubt that is the case but nonetheless what platform did you connect with MetaMask to swap?
An iterator is just a fancy-sounding term for an object that has a next() method. So a yield-ed function ends up being something like this:
for i in xrange(4):
for i in some_function():
This is basically what the Python interpreter does with the above code:
# Start at -1 so that we get 0 when we add 1 below.
self.count = -1
# The __iter__ method will be called once by the 'for' loop.
# The rest of the magic happens on the object returned by this method.
# In this case it is the object itself.
# The next method will be called repeatedly by the 'for' loop
# until it raises StopIteration.
self.count += 1
if self.count < 4:
# A StopIteration exception is raised
# to signal that the iterator is done.
# This is caught implicitly by the 'for' loop.
for i in some_func():
For more insight as to what's happening behind the scenes, the for loop can be rewritten to this: