字典按值写入文件

时间:2019-01-07 19:43:36

标签: python python-3.x list file dictionary

我需要根据键的值将Dictionray写入文件。意思是,如果我有电影的典范字典(=键),以及放映该电影的演员,那么我需要将一个演员写到文件中,然后写出他所播放的所有电影。

键是电影,值是演员集。

我努力写电影和价值观,但正如我所解释的那样,这不是我想要的。

文件应类似于: 演员姓名,电影1,电影2等...

2 个答案:

答案 0 :(得分:2)

最直接的方法是反转字典。

actor2movies = {}
for movie, actors in movie2actors.items():
    for actor in actors:
        if actor not in actor2movies:
            actor2movies[actor] = []
        actor2movies[actor].append(movie)

(如果您将actor2movies初始化为collections.defaultdict(list),则可以省略if语句。)

然后一次写出结果字典,一个键及其值。

with open("foo.txt", "w") as f:
    for actor, movies in actor2movies.items():
        print("{},{}".format(actor, ",".join(movies))

答案 1 :(得分:-1)

将键设置为演员。您可以创建另一个字典,该字典将当前字典的值用作键,并将键作为值。