如何将字典中含换行符的电影条目拆分为名称、年份两个独立key
错误原因
你收到的报错是因为原字典中movies键对应的值是字符串列表,lower()是字符串类型的专属方法,不能直接作用在列表对象上;同时你原有逻辑没有遍历列表内的每个元素拆分,自然无法提取出独立的电影名和年份。
修改后代码
# 初始化结果字典 result = {'movies': [], 'year': []} # 遍历原movies列表中的每一条电影记录 for item in movies['movies']: # 按换行符拆分单条记录,拆分后结构为 [序号, 电影名, 带括号的年份] parts = item.split('\n') # 提取电影名,如需做小写、空格转下划线处理,可修改为 parts[1].lower().replace(' ', '_') movie_name = parts[1] # 提取年份:去掉年份两端的括号,转成整数格式 release_year = int(parts[2].strip('()')) # 分别存入结果字典的对应列表 result['movies'].append(movie_name) result['year'].append(release_year)
输出验证
运行上述代码后,result的结构和你预期的输出完全一致:
{ 'movies': ["Bram Stoker's Dracula", 'Dracula', 'Hotel Transylvania', ...], 'year': [1992, 1931, 2012, ...] }
内容的提问来源于stack exchange,提问作者Stackcans
相关产品推荐
相关产品推荐

