It surprised me that this doesn't work:
>>> "{0[-1]}".format('fox')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers
I was expecting it to be equivalent to:
>>> "{0[2]}".format('fox')
'x'
I don't think there's any particular reason this doesn't work. It would, however break the following code:
>>> "{0[-1]}".format({'-1':'foo'})
'foo'
But note that this doesn't work currently:
>>> "{0[1]}".format({'1':'foo'})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 1 |