Разве обе эти команды не должны делать одно и то же?
>>> "{0[0:5]}".format("lorem ipsum")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers
>>> "{0}".format("lorem ipsum"[0:5])
'lorem'
Команды
>>> "{0[0]}".format("lorem ipsum")
'l'
и
>>> "{0}".format("lorem ipsum"[0])
'l'
оценивают одинаково,(Я знаю, что могу использовать другие методы для этого, мне просто любопытно, почему это не работает)