[['movie_title', 'director_name', 'color', 'duration', 'actor_1_name', 'language', 'country', 'title_year'], ['Avatar', 'James Cameron', 'Color', '178', 'CCH Pounder', 'English', 'USA', '2009'], ["Pirates of the Caribbean: At World's End", 'Gore Verbinski', 'Color', '169', 'Johnny Depp', 'English', 'USA', '2007'], ['Spectre', 'Sam Mendes', 'Color', '148', 'Christoph Waltz', 'English', 'UK', '2015'], ['The Dark Knight Rises', 'Christopher Nolan', 'Color', '164', 'Tom Hardy', 'English', 'USA', '2012']]
def feature_counter(input_lst, index, input_str, header_row = False):
if header_row == True:
if input_lst[index] == input_str:
input_lst = input_lst[1:len(input_lst)]
for each in input_lst:
num_elt = num_elt + 1
return num_elt
num_of_us_movies = feature_counter(movie_metadata, 6, 'USA', True)
print(num_of_us_movies)
我正试图写一个代码来计算美国制作的电影。 当我输入此代码时,我得到了IndexError:列表索引超出范围..! 你能帮我吗?
答案 0 :(得分:0)
您似乎有一个列表列表,如movie_metadata。
尝试print len(input_lst)
。可能低于6
答案 1 :(得分:0)
l = [['movie_title', 'director_name', 'color', 'duration', 'actor_1_name', 'language', 'country', 'title_year'],
['Avatar', 'James Cameron', 'Color', '178', 'CCH Pounder', 'English', 'USA', '2009'],
["Pirates of the Caribbean: At World's End", 'Gore Verbinski', 'Color', '169', 'Johnny Depp', 'English', 'USA', '2007'],
['Spectre', 'Sam Mendes', 'Color', '148', 'Christoph Waltz', 'English', 'UK', '2015'],
['The Dark Knight Rises', 'Christopher Nolan', 'Color', '164', 'Tom Hardy', 'English', 'USA', '2012']]
count = len([x for x in l if x[6].lower() == 'usa'])
print(count)