我已经使用csv文件创建了defaultdict。 defaultdict有一个电影导演作为键,有一个命名元组列表作为值。命名的元组具有3个元素:标题,年份和分数。我需要隔离年份元素,检查年份是否在给定年份之后,然后检查每个元组的结果得分元素是否高于给定得分。
这是字典的输出:
defaultdict(<class 'list'>, {'James Cameron': [Movie(title='Avatar', year=2009, score=7.9), Movie(title='Titanic', year=1997, score=7.7), Movie(title='Terminator 2: Judgment Day', year=1991, score=8.5), Movie(title='True Lies', year=1994, score=7.2), Movie(title='The Abyss', year=1989, score=7.6), Movie(title='Aliens', year=1986, score=8.4), Movie(title='The Terminator', year=1984, score=8.1)]
答案 0 :(得分:-1)
不确定我是否理解正确,但也许像下面这样: 生成默认值,然后访问score元素
d = defaultdict(list)
ls1 = [('James Cameron' , Movie(title='Avatar', year=2009, score=7.9)),('James Cameron' , Movie(title='avs', year=2010, score=8.1))]
for k,v in ls1:
d[k].append(v)
for item in d['James Cameron']:
print(item.score))