我很难解释列表推导中的嵌套迭代。下面的代码
movie = []
genre = []
for movie_ids in ratings["movie_id"].values:
movie.append(movie_ids)
genre.append([x for movie_id in movie_ids for x in genres_dict[movie_id]])
如果我打印genre[0]
,假设我看到结果[a,b,c]
我从this和互联网上的许多其他人的理解是,我可以代替线路
genre.append([x for movie_id in movie_ids for x in genres_dict[movie_id]])
使用
for movie_id in movie_ids:
if movie_id in genres_dict:
genre.append(genres_dict[movie_id])
但是当我打印genre[0]
时,结果不同。>
我想念什么?
请提出建议
我很难解释列表推导中的嵌套迭代。下面的代码movie = []风格= []代表等级[“ movie_id”]中的movie_id。值:movie.append(movie_ids)风格....
通过列表理解,您还可以迭代genres_dict[movie_id]
的内容。此代码不会完全转换为您提供的for循环,而是转换为
列表理解实际上也在迭代内部内容时为您弄平了数组。