To answer the question "how can I find out if a given index in that dict has already been set to a non-None value", I would prefer this:
try:
nonNone = my_dict[key] is not None
except KeyError:
nonNone = False
This conforms to the already invoked concept of EAFP (easier to ask forgiveness then permission). It also avoids the duplicate key lookup in the dictionary as it would in key in my_dict and my_dict[key] is not None
what is interesting if lookup is expensive.
For the actual problem that you have posed, i.e. incrementing an int if it exists, or setting it to a default value otherwise, I also recommend the
my_dict[key] = my_dict.get(key, default) + 1
as in the answer of Andrew Wilkinson.
There is a third solution if you are storing modifyable objects in your dictionary. A common example for this is a multimap, where you store a list of elements for your keys. In that case, you can use:
my_dict.setdefault(key, []).append(item)
If a value for key does not exist in the dictionary, the setdefault method will set it to the second parameter of setdefault. It behaves just like a standard my_dict[key], returning the value for the key (which may be the newly set value).