Why is it that I can't have 008 or 009 be keys for a Python dict, but 001-007 are fine? Example:
some_dict = {
001: "spam",
002: "eggs",
003: "foo",
004: "bar",
008: "anything", # Throws a SyntaxError
009: "nothing" # Throws a SyntaxError
}
Update: Problem solved. I wasn't aware that starting a literal with a zero made it octal. That seems really odd. Why zero?
Check If Key Exists using has_key() method Using has_key() method returns true if a given key is available in the dictionary, otherwise, it returns a false. With the Inbuilt method has_key(), use the if statement to check if the key is present in the dictionary or not.
For example, you can use an integer, float, string, or Boolean as a dictionary key. However, neither a list nor another dictionary can serve as a dictionary key, because lists and dictionaries are mutable. Values, on the other hand, can be any type and can be used more than once.
The straight answer is NO. You can not have duplicate keys in a dictionary in Python.
In python and some other languages, if you start a number with a 0, the number is interpreted as being in octal (base 8), where only 0-7 are valid digits. You'll have to change your code to this:
some_dict = {
1: "spam",
2: "eggs",
3: "foo",
4: "bar",
8: "anything",
9: "nothing" }
Or if the leading zeros are really important, use strings for the keys.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With