如何在defaultdict中访问命名元组列表的各个索引?

时间:2019-06-02 07:31:21

标签: python python-3.x defaultdict namedtuple

我已经使用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)]

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))