Это не то, что делает any()
. any()
перебирает итерируемый объект и возвращает True
, если что-либо из этого итерируемого приводит к True
.
Например:
any([False, False, False]) => False
any([False, True, False]) => True
Чтобы было легче читать то, что вы пытаюсь сделать, я переключился на enumerate()
l oop вместо диапазона. Это возвращает индекс и текущее значение, которое мы повторяем. Для каждой записи на листе мы можем затем проверить, находится ли эта запись в вашем списке состояний.
Здесь оператор print()
печатает как значение i
, так и вашу запись, которая соответствует.
for i, entry in enumerate(excel_file['Column Label']):
if entry in states:
print(i, entry)
Примечание: Python скрывает тот факт, что для этого упражнения требуется вложенный l oop. Верх для l oop очевиден, но ключевое слово in
создает собственное al oop. Он сравнивает entry
с каждым элементом в states
, по крайней мере, пока не найдет совпадение.