@Aril_01

Вложенный цикл_при решении, почему ошибка?

import pandas
data = pandas.read_csv('crops_usa.csv')

acres = list(data['Acres'])
years = list(data['Year'])

year = 1980

acres_one_year = []

for index in acres:
    if years[index] == year:
        acres_one_year.append(acres[index])

# ваш код здесь

print(acres_one_year)


Traceback (most recent call last):
File "main.py", line 12, in

IndexError: list index out of range
  • Вопрос задан
  • 705 просмотров
Пригласить эксперта
Ответы на вопрос 2
shurshur
@shurshur
Сисадмин, просто сисадмин...
acres это list, а не dict, и поэтому итерация index in acres перебирает не индексы (ключи), а значения.

Надо перебирать или range(len(acres)), или использовать enumerate(acres).
Ответ написан
Комментировать
@o5a
Т.к. насколько понимаю цель - перебрать оба списка последовательно, подойдет zip.
for y, a in zip(years, acres):
     # y, a соответственно будут парами год и акры, их и использовать для сравнения и записи в список acres_one_year
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы