invalid-format-index / W1307#

Message emitted:

Using invalid lookup key %r in format specifier %r


Used when a PEP 3101 format string uses a lookup specifier ({a[1]}), but the argument passed for formatting doesn't contain or doesn't have that key as an attribute.

Problematic code:

not_enough_fruits = ["apple"]
print('The second fruit is a {fruits[1]}'.format(fruits=not_enough_fruits))  # [invalid-format-index]

Correct code:

enough_fruits = ["apple", "banana"]
print('The second fruit is a {fruits[1]}'.format(fruits=enough_fruits))

Created by the string checker.