Цикл for с двумя переменными в Python
Проблема заключается в том, что по мере выполнения цикла значение i
не увеличивается и, соответственно, в каждой строчке выводится только первая ячейка elements
под индексом i = 0
.
data = data_extract("source")
elements = data_extract("source")
for element in elements:
i = 0
print(elements.columns[i], data.loc[0, element])
i = i + 1
Подскажите, пожалуйста, как следует изменить цикл, чтобы значение переменной i
увеличивалось с каждым выполнением кода цикла!
Ответы (3 шт):
Автор решения: MBo
→ Ссылка
Поставить обнуление i ДО цикла
i = 0
for element in elements:
print(elements.columns[i], data.loc[0, element])
i = i + 1
Автор решения: insolor
→ Ссылка
Можно использовать стандартную функцию enumerate
, которая создана как раз для таких случаев, когда нужна переменная с индексом текущего элемента:
for i, element in enumerate(elements):
print(elements.columns[i], data.loc[0, element])
Автор решения: Alexey Trukhanov
→ Ссылка
Не мог не попробовать решить только методами pandas
, без for
и без i
.
elements.columns.map(lambda x: print(x, data.loc[0, x]))