Нет, person
не увеличивается на 1 каждый раз в цикле. Это не число. person
получает следующий элемент из people
каждый раз через цикл.
Второй цикл такой же: person
- это список (или другая последовательность), и каждая итерация по списку извлекает один элемент из списка.
Каждый элемент в person
представляет собой пару ключ-значение, представленную в виде списка из двух элементов (или другой последовательности; вероятен кортеж) с ключом первым и значением вторым. Вместо того, чтобы перебирать этот список, так как мы знаем, что есть два элемента, мы можем распаковать элементы в переменные name
и value
(общая идиома Python).
Если мы найдем пару ключ-значение, которая начинается с «имени», то мы нашли имя человека, поэтому распечатаем его.
Это немного сбивает с толку, потому что слово "имя" используется для ключа пары ключ-значение, а также для ключа, который мы ищем. Если бы я писал это, я бы использовал вместо этого «ключ» для переменной цикла.
Короче говоря, people
- это список списков. Каждый список в people
представляет человека и сам является списком пар ключ-значение. Каждая пара ключ-значение представляет собой список из двух элементов. Внешний цикл перебирает людей, внутренний цикл перебирает пары ключ-значение в человеке.